如果我有一个 MyBull
类型的对象和一个 List<MyBull> orig
:
// Just an example
MyBull x = getMeTheObjectWithIdFromDB(9);
orig.add(x);
// Again same? data object
MyBull y = getMeTheObjectWithIdFromDB(9);
那为什么这是假的呢?
// This is false, even though all the properties
// of x and y are the same.
orig.Contains<MyBull>(y);
最佳答案
默认情况下,对象将公开基于引用的相等性。如果需要自定义规则,例如基于 id 字段的相等性,则需要覆盖 Equals
和 GetHashCode
方法。
关于c# - List.Contains 没有按预期工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2959581/