Я новичок в Linq. У меня есть таблица Customers.ID, FullName, Organization, Location - столбцы. У меня есть запрос в Sqlite, который возвращает мне 2500 записей клиентов. Я должен найти индекс клиента, где ID = 150, например, из этого набора результатов. Его список клиентов. Результирующий набор запроса упорядочивается организацией. Я пытался с FindIndex и IndexOf, но получал ошибки для первого и -1 для последнего. Итак, как это сделать? Спасибо.
Получить индекс объекта в списке с помощью Linq
Ответ 1
Вам не нужно использовать LINQ
, вы можете использовать FindIndex
List<T>
:
int index = customers.FindIndex(c => c.ID == 150);
Ответ 2
Linq to Objects перегружает Выбрать метод
customers.Select((c,i) => new { Customer = c, Index = i })
.Where(x => x.Customer.ID == 150)
.Select(x => x.Index);
Имейте в виду, что вы должны иметь встроенную память List<Customer>
для использования этого метода Linq to Objects.