【发布时间】:2012-08-21 22:48:34
【问题描述】:
我已经实现了一个字典如下:
Dictionary<ErrorHashKey, ErrorRow> dictionary;
我在ErrorHashKey 类中定义了Equals() 和GetHashCode()。我目前正在为该项目编写一些文档,并从IEqualityComparer Interface doc 看到:
字典需要一个相等的实现 判断键是否相等。您可以指定一个实现 IEqualityComparer 通用接口通过使用构造函数 接受比较器参数;如果您不指定实现, 默认的通用相等比较器 EqualityComparer.Default 是 用过的。如果类型 TKey 实现 System.IEquatable 泛型 接口,默认相等比较器使用该实现。
我没有做任何文档指定的事情(或者至少我认为我没有做)。我没有在构造函数参数中传递比较器,也没有创建EqualityComparer.Default 比较器。
System.IEquatable<T> generic interface 是否在每个创建的类中自动实现?我应该定义IEqualityComparer<T> 的实现吗?
【问题讨论】:
标签: c#