从键/值对列表到字典,有没有一种LINQ方法

本文关键字:一种 方法 LINQ 有没有 列表 字典 从键 | 更新日期: 2023-09-27 18:23:46

有"LINQ"方法吗?

var array = new string[] { "BASE TABLE", "Table", "VIEW", "View" };
var list = array.ToList();
var dictionary = new Dictionary<string, string>();
for (int i = 0; i < list.Count; i += 2)
{
    dictionary[list[i]] = list[i + 1];
}

从键/值对列表到字典,有没有一种LINQ方法

var result = Enumerable.Range(0, array.Length / 2)
                       .ToDictionary(i => array[i * 2], i => array[i * 2 + 1]);

正如dtb所指出的,名称恰当的"ToDictionary"方法可能正是您想要的。

如果您希望字典在创建后永远不会更改,和/或如果您希望有多个值与给定的键相关联,请使用名称恰当的"ToLookup"方法。