我有一個對象列表,我想查看一個特定的對象是否在這個列表中。當我在列表上使用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