如何在 Collection中查找元素索引继承类?
如何找到 Collection 继承类中元素的索引?
public class MyCollection : Collection<MyClass>
{
// implementation here
}
我尝试在集合上使用 .FindIndex 但没有成功:
int index = collectionInstance.FindIndex(someLambdaExpression);
还有其他方法可以实现此目的吗?
How do you find the index of an element in a Collection inherited class?
public class MyCollection : Collection<MyClass>
{
// implementation here
}
I tried to use .FindIndex on the collection but no success:
int index = collectionInstance.FindIndex(someLambdaExpression);
Any other ways to achieve this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您直接拥有该元素,则可以使用 IndexOf 来检索它。但是,这不适用于通过 lambda 查找元素索引。
不过,您可以使用 LINQ:
If you have the element directly, you can use IndexOf to retrieve it. However, this won't work for finding an element index via a lambda.
You could use LINQ, however:
如果可能(抱歉,如果不是,并且您受到以前选择的限制),并且如果您的用例能够使用索引,那么最好使用通用列表(即:列表)。
然后你就可以正确使用FindIndex了。
...
If possible (sorry if it's not, and you're constrained by previous choices), and if your use case is to be able to work with indexes, you would be better off using generic lists (i.e.: List).
Then you would be able to use FindIndex correctly.
...
是否有理由调用
Collection.IndexOf
还不够吗?Is there a reason why calling
Collection<T>.IndexOf
is insufficient?