19、C 中的运算符重载与可空类型详解
2025/12/26 7:10:53
在 .NET 框架中,操作符==和!=的重载是一个重要的特性。例如以下代码:
class Test { public static void Main() { Employee herb = new Employee(555, "Herb"); Employee herbClone = new Employee(555, "Herb"); Console.WriteLine("Equal: {0}", herb.Equals(herbClone)); Console.WriteLine("Equal: {0}", herb == herbClone); } }上述代码输出结果为:
Equal: true Equal: true这里,==和!=操作符被重载,使得它们可以在Main方法的最后一行被使用。需要注意的是,这些操作符必须成对重载,不能单独重载。
另外,Equals()方法的实现可以转发到操作符的实现。对于结构体,如果反向操作,会需要额外的装箱操作。因为Equals()