我有一个对象列表,我想查看一个特定的对象是否在这个列表中。当我在列表上使用Contains()
或IndexOf()
方法时,我得到的结果不正确,因为这使用了对象的Equals()
方法,这不是我所需要的。我想找到一个特定的实例,而不是一个似乎具有相同属性值的对象。搜索列表中的特定对象
回答
如果你要匹配的引用,你可以使用:
if (object.ReferenceEquals(item1, item2))
...
,迫使它来比较,而不是使用Equals()
或参考:
int index = list.FindIndex(item=>ReferenceEquals(item, target));
(请参阅MSDN Documentation for List.FindIndex()了解更多详情。)
OP已经非常清楚地表明他不想通过引用来检查项是否相等,他只是想检查一个'System.Type'项目已经存在于列表中! – 2013-03-07 13:56:02
我认为他没有......他说*“我想找到一个特定的**实例**而不是一个似乎具有相同属性值的对象。”*他没有任何关于类型的任何说法。 – 2013-03-07 14:02:35
object.ReferenceEquals(item1,item2)诀窍:) – user1365247 2013-03-07 14:22:39
你可以使用哈希码吗?
list.where(w => w.GetHashCode() == object.GetHashCode())
我认为他希望引用是相同的,而不是对象的内容 – Nolonar 2013-03-07 13:49:31
- 1. 在ArrayList中搜索特定的对象
- 2. 搜索具有特定字段值的对象的对象的数组列表
- 3. 如何搜索对象的数组列表并返回特定的对象?
- 4. 搜索列表对象
- 5. 搜索对象列表
- 6. 搜索对象列表
- 7. 搜索数组列表中的特定对象并打印数组列表中的所有对象
- 8. 搜索列表中的现有对象
- 9. CoffeeScript中的列表/对象搜索
- 10. 在Python中搜索对象列表
- 11. 在对象列表中搜索
- 12. 在列表中搜索对象
- 13. 在通用列表中搜索对象
- 14. 使用列表对象列表和搜索对象列表中的项目(python)
- 15. 在阵列中搜索元素 - 特定*不*原始对象
- 16. 与特定的词搜索表列
- 17. 在C#中的列表对象列表中搜索#
- 18. 搜索对象的数组列表
- 19. 对象的搜索和排序列表
- 20. 搜索对象的列表<Object>
- 21. 搜索特定的列
- 22. 在Java中搜索匿名对象的数组列表以查找这些对象中的特定变量
- 23. c# - 将对象添加到列表中的特定索引
- 24. 定义对象列表。获取对象中的特定字段
- 25. Parse.com - Android - 在大对象列表中搜索3个对象
- 26. 使用ThreadPools搜索对象列表
- 27. 在对象列表上搜索
- 28. 搜索数组对象列表
- 29. 二进制搜索对象列表?
- 30. 搜索对象数组列表混淆
什么是对象? – Bastardo 2013-03-07 13:51:48