正如标题所说:我需要覆盖==操作符吗?.Equals()法怎么样?我有什么遗漏吗?

推荐答案

来自MSDN的一个示例

public struct Complex 
{
   double re, im;
   public override bool Equals(Object obj) 
   {
        return obj is Complex c && this == c;
   }
   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);
   }
}

.net相关问答推荐

为什么Linq中的运算符逻辑不匹配结果,当值为0或在VB. NET中没有

如何使用AWS Lambda函数制作网络挂钩?

带有ASP.NET核心的Angular 项目模板.API试验

xunit Assert.ThrowsAsync() 不能正常工作?

.NET - WindowStyle = hidden 与 CreateNoWindow = true?

有什么方法可以使用 .NET 应用程序使用 git 吗?

使用 C# 清除文本文件的内容

.Net 中的 Int128?

是否有 TLS 1.2 的 .NET 实现?

如何使用配置转换删除 ConnectionString

使用 XmlSerializer 将空 xml 属性值反序列化为可为空的 int 属性

如何在 C# 中安全地将 System.Object 转换为bool?

将 StreamReader 返回到开头

有没有像样的 C# 分析器?

使用语句与最终try

ToLowerInvariant() 有什么问题?

如何找到二维数组的大小?

如何将 Excel 序列日期编号转换为 .NET DateTime?

判断对象列表是否包含具有特定值的属性

带有嵌套控件的设计模式