是否有“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];
}
答案 0 :(得分:17)
var result = Enumerable.Range(0, array.Length / 2)
.ToDictionary(i => array[i * 2], i => array[i * 2 + 1]);
答案 1 :(得分:5)
正如dtb指出的那样,恰当命名的“ToDictionary”方法可能正是您所寻求的。
如果您希望字典在创建后永不更改,和/或如果您打算将多个值与给定键关联,则使用恰当命名的“ToLookup”方法。< / p>