IStructuralEquatable 接口在 C# 中起什么作用?

csharpprogrammingserver side programming更新于 2025/10/14 17:22:17

IStructuralEquatable 接口定义了一些方法,用于支持对象结构相等性的比较,这意味着两个对象相等,因为它们具有相等的值。

它包含以下两个方法 −

Sr.No方法 &说明
1Equals(Object, IEqualityComparer)
该方法确定一个对象在结构上是否与当前实例相等。
2GetHashCode(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));

相关文章