如何使用LINQ获取索引?

给定这样的数据源:


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;

用一个普通的循环解决这个问题会是最好的吗?


繁星点点滴滴
浏览 1118回答 3
3回答

摇曳的蔷薇

简单地说:int index = List.FindIndex(your condition);例如int index = cars.FindIndex(c => c.ID == 150);
打开App,查看更多内容
随时随地看视频慕课网APP