42

我是Linq的新手。我有一个客户表。ID、全名、组织、位置是列。我在 Sqlite 中有一个查询返回 2500 条客户记录。例如,我必须从这个结果集中找到 ID=150 的客户的索引。它的客户列表。查询的结果集按组织排序。我尝试使用 FindIndex 和 IndexOf,但前者出错,后者出错 -1。那么,应该怎么做呢?谢谢。

4

2 回答 2

85

你不需要使用LINQ,你可以FindIndex使用List<T>

int index = customers.FindIndex(c => c.ID == 150);
于 2013-08-07T16:40:34.200 回答
34

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 方法。

于 2013-08-07T16:35:01.120 回答