这有效吗?
public struct MyStruct
{
public int Foo { get; set; }
public static bool operator ==(MyStruct a, MyStruct b)
{
return a.Equals(b);
}
public static bool operator !=(MyStruct a, MyStruct b)
{
return !a.Equals(b);
}
}
(我知道它有点低效,因为 Object.Equals 默认对值类型使用反射。但它有效吗?)
我问是因为 ReSharper 突出显示它并警告我 MyStruct 定义了运算符“==”或运算符“!=”但不提供“Object.Equals(object o)”和“Object.GetHashCode( )'
.
最佳答案
我认为this可能很有趣。
关于c# - 在结构中,通过 Equals 实现 operator== 是否有效,但不覆盖 Equals 和 GetHashCode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3649894/