1

我需要在 Linq 中选择项目时检索项目的索引,这是最好的方法吗?我不喜欢我必须在我的 Linq 语句之外声明一个变量的事实。

List<int> ApplianceIds = new List<int>();
ApplianceIds.Add(6);
ApplianceIds.Add(3);
ApplianceIds.Add(4);
ApplianceIds.Add(5);
ApplianceIds.Add(6);
ApplianceIds.Add(7);
ApplianceIds.Add(2);

int ind = 0;

var y = (from a in ApplianceIds
        let index = ind++
        select new {Appliance = a, Index = index}).ToList();
4

2 回答 2

10

我会这样做;

var y = ApplianceIds.Select ((a,i) => new { Appliance = a, Index = i } ).ToList();
于 2012-08-24T15:18:29.917 回答
1

ApplianceIds 是一个列表,您已经有了索引。您可以使用 for 循环。

for (int i=0; i<ApplianceIds.Count; i++)
{
    // i is your index
}
于 2012-08-24T15:23:43.373 回答