0

我有一个对象列表,我想查看某个特定对象是否在此列表中。但是,当我使用列表中的Contains()orIndexOf()方法时,我得到不正确的结果,因为这使用了Equals()我不需要的对象的方法。我想找到一个特定的实例,而不是一个似乎具有相同属性值的对象。

4

2 回答 2

3

如果您希望匹配参考,您可以使用:

if (object.ReferenceEquals(item1, item2))
    ...

强制它比较引用而不是使用Equals()

或者:

int index = list.FindIndex(item=>ReferenceEquals(item, target));

(有关详细信息,请参阅List.FindIndex() 的 MSDN 文档。)

于 2013-03-07T13:50:33.843 回答
0

你可以使用哈希码吗?

list.where(w => w.GetHashCode() == object.GetHashCode())
于 2013-03-07T13:48:48.080 回答