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