IStructuralEquatable接口定义了用于比较对象以进行结构相等的方法,这意味着两个对象相等,因为它们具有相等的值。
它包括以下两种方法-
序号 | 方法与说明 |
---|---|
1 | Equals(Object,IEqualityComparer) 该方法确定对象在结构上是否等于当前实例。 |
2 | GetHashCode(IEqualityComparer) 该方法为当前实例提供一个哈希码。 |
让我们看一个创建Tuple对象并使用IstructuralEquatable接口的示例:
创建元组-
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));