¿Cómo obtener el índice usando LINQ? [duplicar]
Esta pregunta ya tiene una respuesta aquí:
Obtener la posición del elemento List <> en c # usando LINQ 9 respuestas¿Cómo obtener el índice de un elemento en un IEnumerable? 11 respuestasDada una fuente de datos como esa:
var c = new Car[]
{
new Car{ Color="Blue", Price=28000},
new Car{ Color="Red", Price=54000},
new Car{ Color="Pink", Price=9999},
// ..
};
¿Cómo puedo encontrar elíndice del primer automóvil que cumple una determinada condición con LINQ?
EDITAR:
Podría pensar en algo como esto, pero se ve horrible:
int firstItem = someItems.Select((item, index) => new
{
ItemName = item.Color,
Position = index
}).Where(i => i.ItemName == "purple")
.First()
.Position;
¿Será lo mejor resolver esto con un simple bucle antiguo?