我是Linq的新手。我有一个Customers table.ID,FullName,Organization,Location是列。我在Sqlite中有一个查询,返回2500条客户记录。我必须从该结果集中找到ID = 150的客户索引。它是一个客户列表。查询的结果集按组织排序。我尝试使用FindIndex和IndexOf但是前者得到错误而后者得到-1。那么,应该怎么做呢? 感谢。
答案 0 :(得分:78)
您无需使用LINQ
,可以使用List<T>
的{{3}}:
int index = customers.FindIndex(c => c.ID == 150);
答案 1 :(得分:31)
Linq to Objects已经重载了Select方法
customers.Select((c,i) => new { Customer = c, Index = i })
.Where(x => x.Customer.ID == 150)
.Select(x => x.Index);
请记住,您应该让内存中List<Customer>
使用此Linq to Objects方法。