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 に答える