IStructuralEquatable 接口在 C# 中起什么作用?
csharpprogrammingserver side programming更新于 2025/10/14 17:22:17
IStructuralEquatable 接口定义了一些方法,用于支持对象结构相等性的比较,这意味着两个对象相等,因为它们具有相等的值。
它包含以下两个方法 −
| Sr.No | 方法 &说明 |
|---|---|
| 1 | Equals(Object, IEqualityComparer) 该方法确定一个对象在结构上是否与当前实例相等。 |
| 2 | GetHashCode(IEqualityComparer) 该方法获取当前实例的哈希码。 |
让我们看一个示例,其中我创建了 Tuple 对象并使用了 IstructuralEquatable 接口:
创建 Tuple −
var tupleOne = Tuple.Create(26.3, Double.NaN, 35.6); var tupleOne = Tuple.Create(26.3, Double.NaN, 35.6);
现在使用默认比较器调用 IStructuralEquatable.Equals 来检查相等性。
IStructuralEquatable chk = tupleOne; Console.WriteLine(chk.Equals(tupleTwo, EqualityComparer<object>.Default));

