Linq检索索引

时间:2012-08-24 15:18:03

标签: c#

我需要检索我的项目的索引,因为我在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();

2 个答案:

答案 0 :(得分:10)

我会这样做;

var y = ApplianceIds.Select ((a,i) => new { Appliance = a, Index = i } ).ToList();

答案 1 :(得分:1)

ApplianceIds是一个List,你已经有了索引。你可以使用for循环。

for (int i=0; i<ApplianceIds.Count; i++)
{
    // i is your index
}