C# 从键/值对列表到字典有没有LINQ方法?

C# 从键/值对列表到字典有没有LINQ方法?,c#,linq,C#,Linq,有没有一种“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

有没有一种“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];
}
var数组=新字符串[]{“基表”、“表”、“视图”、“视图”};
var list=array.ToList();
var dictionary=newdictionary();
对于(int i=0;i
正如dtb所指出的,恰当命名的“ToDictionary”方法可能正是您想要的


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

这是我直觉告诉我可能存在linq方法的其中一种方法,因此我只想知道它是什么。。实际上,我重新编写了代码,只需创建一个字典,并为每对字典调用一次Add(),这似乎更简单
var result = Enumerable.Range(0, array.Length / 2)
                       .ToDictionary(i => array[i * 2], i => array[i * 2 + 1]);