use*_*312 1 c# contains generic-list
正是这一个类方法分别负责List<T>的 Contains()操作?
我班上超载了== 但似乎没有效果.
Jon*_*eet 11
它只会调用Equals()- 所有需要被覆盖的(如果你对参考标识比较感到满意,则不会被覆盖).如果类型实现,IEquatable<T>则该实现将优先于一般使用Equals(object).
特别是,从以下文档List<T>.Contains:
此方法使用默认的相等比较器
EqualityComparer(T).Default(T列表中的值类型)确定相等性 .
来自EqualityComparer<T>.Default:
该
Default属性检查type是否T实现System.IEquatable(T)泛型接口,如果是EqualityComparer(T),则返回 使用该实现的类型.否则返回一个EqualityComparer(T)使用覆盖Object.Equals和Object.GetHashCode提供的覆盖T.
我完全不相信它会用到它GetHashCode.
| 归档时间: |
|
| 查看次数: |
1210 次 |
| 最近记录: |