を取り、各要素を のインデックスにマップList
する を生成したいと思います。私はこれを次のように行うことができます:Dictionary
List
List<string>
var myList = new List<string>{ /* populate list */ };
var orderMap = new Dictionary<string, int>();
foreach (var element in myList)
{
orderMap[element] = myList.IndexOf(element);
}
基本的に、私は次のようなリストを取りたいです:
Apple
Banana
Orange
インデックスを示すマップを返します。
Apple -> 0
Banana -> 1
Orange -> 2
Linqでこれを行うにはどうすればよいですか? 私はこのようなものがうまくいくはずだと思います:
orderMap = myList.Select( x => /* return a key value pair mapping x to myList.IndexOf(x) */ );
しかし、正しい構文がわかりません。また、に使用するデリゲートでリスト自体を参照できますSelect
か?