Mat*_*ero 7 c# linq dictionary list
我有这个清单:
var items = new List<string>() { "Hello", "I am a value", "Bye" };
Run Code Online (Sandbox Code Playgroud)
我希望它将它转换为具有以下结构的字典:
var dic = new Dictionary<int, string>()
{
{ 1, "Hello" },
{ 2, "I am a value" },
{ 3, "Bye" }
};
Run Code Online (Sandbox Code Playgroud)
如您所见,字典键只是增量值,但它们也应该反映列表中每个元素的位置.
我正在寻找单行 LINQ语句.像这样的东西:
var dic = items.ToDictionary(i => **Specify incremental key or get element index**, i => i);
Run Code Online (Sandbox Code Playgroud)
Yuv*_*kov 18
你可以通过使用重载Enumerable.Select传递元素的索引来做到这一点:
var dic = items.Select((val, index) => new { Index = index, Value = val})
.ToDictionary(i => i.Index, i => i.Value);
Run Code Online (Sandbox Code Playgroud)