System.IEquatable 接口

方法描述

定义一个通用的方法,由值类型或类实现以创建类型特定的方法,用于确定实例间的相等性。

语法定义(C# System.IEquatable 接口 的用法)

public interface IEquatable

构造函数

构造函数名称 构造函数描述

成员/方法

方法名称 方法描述
Equals 指示当前对象是否等于同一类型的另一个对象。

提示和注释

此接口由其值可以比较相等性的类型(例如数值或字符串类)实现。 值类型或类实现 Equals 方法以创建适合确定实例相等性的类型特定的方法。

注意

IComparable 接口定义 CompareTo 方法,该方法确定实现类型的实例的排序顺序。 IEquatable 接口定义 Equals 方法,该方法确定实现类型的实例的相等性。

在 Contains、IndexOf、LastIndexOf 和 Remove 等方法中测试相等性时,泛型集合对象(如 Dictionary、List 和 LinkedList 等)将使用 IEquatable 接口。 对于任何可能存储在泛型集合中的对象,都应实现此接口。

对实现者的说明

用实现此接口的类型替换 IEquatable 接口的类型参数。

如果实现 IEquatable,还应重写 Object.Equals(Object) 和 GetHashCode 的基类实现,以便其行为与 IEquatable.Equals 方法的行为一致。 如果重写 Object.Equals(Object),则对相应类调用静态 Equals(System.Object, System.Object) 方法时也会调用重写的实现。 这可确保 Equals 方法的所有调用都返回一致的结果。

System.IEquatable 接口例子

请参见 IEquatable.Equals 方法的示例。


继承层次结构

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

线程安全

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1 受以下版本支持:

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。