Как получить индекс с помощью 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;

Будет ли это лучше всего решить с помощью простого старого цикла?

Ответы на вопрос(7)

Ваш ответ на вопрос