2

重複の可能性:
linqを使用してリスト内の特定のアイテムのインデックスを見つける方法は?

IEnumerable<SelectListItem>文字列の配列からを作成しようとしています。

string[] months = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" };

model.month = months
        .Select(r => new SelectListItem{Text = r, Value = ???});

このクエリ内でインデックスにアクセスする方法はありますか?

4

3 に答える 3

13

オーバーロードされたEnumerable.Selectメソッドを使用します。

model.month = months
    .Select((r,index) => new SelectListItem{Text = r, Value = index.ToString()});
于 2013-01-02T21:36:10.120 に答える
5

で試してくださいEnumerable.Select

要素のインデックスを組み込むことにより、シーケンスの各要素を新しい形式に射影します。

model.month = months
        .Select((r, i) => new SelectListItem{Text = r, Value = i.ToString()});
于 2013-01-02T21:38:22.833 に答える
2

ジェフは、lila Gが投稿したリンクの例に基づいて、これがうまくいくはずです

string[] months = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" };
var query = months.Select((r, index) => new  { Text = r, Value = index });

デバッガーでの表示のスクリーン ショット

ここに画像の説明を入力

于 2013-01-02T21:43:29.090 に答える