Как получить индекс с помощью LINQ? [Дубликат]
На этот вопрос уже есть ответ здесь:
Получить List <> положение элемента в C # с помощью LINQ 9 ответовКак получить индекс элемента в IEnumerable? 11 ответовИмеется такой источник данных:
var c = new Car[]
{
new Car{ Color="Blue", Price=28000},
new Car{ Color="Red", Price=54000},
new Car{ Color="Pink", Price=9999},
// ..
};
Как я могу найтииндекс первой машины, удовлетворяющей определенному условию с LINQ?
РЕДАКТИРОВАТЬ:
Я мог бы придумать что-то вроде этого, но это выглядит ужасно:
int firstItem = someItems.Select((item, index) => new
{
ItemName = item.Color,
Position = index
}).Where(i => i.ItemName == "purple")
.First()
.Position;
Будет ли это лучше всего решить с помощью простого старого цикла?