【发布时间】:2011-12-06 17:07:54
【问题描述】:
假设我有一个列表,我有一个对象。如何在列表中找到该对象的索引?
【问题讨论】:
-
ListBox 或 ListView 或 List?
-
假设该列表是一个 Generics.List(of ...) 那么这个问题很遗憾是模棱两可的,或者至少它是由 MS 这样处理的。多年来,我一直在使用 IndexOf 和 Contains 而没有考虑它,因为我认为它们做了它们的名字所暗示的事情。但他们不搜索对象,而是搜索满足 Equals 函数的对象。这意味着如果您覆盖了 Equals,那么即使对象不存在,IndexOf 也可能会返回一个值,因为列表中的一个对象为 obj.Equals(target) 返回 True。除非对象是不可变的,否则这永远不是我想要的
-
相关(not 重复):用于检查 存在 和简单
List(Of String)的更简单情况),请参阅:Check if a list of strings contains a value