相关疑难解决方法(0)

如何使用LINQ获取索引?

给定像这样的数据源:

var c = new Car[]
{
  new Car{ Color="Blue", Price=28000},
  new Car{ Color="Red", Price=54000},
  new Car{ Color="Pink", Price=9999},
  // ..
};
Run Code Online (Sandbox Code Playgroud)

如何用LINQ 找到满足一定条件的第一辆车的索引

编辑:

我可以想到这样的东西,但它看起来很糟糕:

int firstItem = someItems.Select((item, index) => new    
{    
    ItemName = item.Color,    
    Position = index    
}).Where(i => i.ItemName == "purple")    
  .First()    
  .Position;
Run Code Online (Sandbox Code Playgroud)

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

.net c# linq c#-3.0

306
推荐指数
6
解决办法
33万
查看次数

如何使用LINQ获取数组中最高值的索引?

我有一个双打数组,我想要最高值的索引.这些是我到目前为止提出的解决方案,但我认为必须有一个更优雅的解决方案.想法?

double[] score = new double[] { 12.2, 13.3, 5, 17.2, 2.2, 4.5 };
int topScoreIndex = score.Select((item, indx) => new {Item = item, Index = indx}).OrderByDescending(x => x.Item).Select(x => x.Index).First();

topScoreIndex = score.Select((item, indx) => new {Item = item, Index = indx}).OrderBy(x => x.Item).Select(x => x.Index).Last();

double maxVal = score.Max();
topScoreIndex = score.Select((item, indx) => new {Item = item, Index = indx}).Where(x => x.Item == maxVal).Select(x => x.Index).Single();
Run Code Online (Sandbox Code Playgroud)

c# linq

22
推荐指数
3
解决办法
3万
查看次数

标签 统计

c# ×2

linq ×2

.net ×1

c#-3.0 ×1