一尘不染

如何在单个步骤中获取列表中项目的索引?

c#

如何在列表中查找项目的索引而不遍历整个项目?

当前,这看起来不太好-在列表中两次搜索相同的项目,只是为了获得索引:

var oProp = something;

int theThingIActuallyAmInterestedIn = myList.IndexOf(myList.Single(i => i.Prop == oProp));

阅读 253

收藏
2020-05-19

共1个答案

一尘不染

List.FindIndex方法如何:

int index = myList.FindIndex(a => a.Prop == oProp);

该方法执行线性搜索。因此,此方法是O(n)运算,其中n是Count。

如果找不到该项目,它将返回-1

2020-05-19