正如标题所说:我是否需要重写 ==
运营商?如何对 .Equals()
的方法?任何事情我丢失吗?
As the title says: do i need to override the ==
operator? how about the .Equals()
method? Anything i'm missing?
从MSDN的例子
public struct Complex
{
double re, im;
public override bool Equals(Object obj)
{
return obj is Complex && this == (Complex)obj;
}
public override int GetHashCode()
{
return re.GetHashCode() ^ im.GetHashCode();
}
public static bool operator ==(Complex x, Complex y)
{
return x.re == y.re && x.im == y.im;
}
public static bool operator !=(Complex x, Complex y)
{
return !(x == y);
}
}