从List <string>初始化Dictionary <string,string>

Bra*_*itz 5 c# generics extension-methods dictionary

最简单的方法,也许来自扩展方法?:

var MyDic = new Dictionary<string,string>{ "key1", "val1", "key2", "val2", ...}; 
Run Code Online (Sandbox Code Playgroud)

当字典结束时,条目包含来自简单字符串列表的键和值对,每隔一个字符串交替作为键和值.

Jon*_*eet 10

交替有点痛苦.就个人而言,我只是做得很简单:

var dictionary = new Dictionary<string, string>();
for (int index = 0; index < list.Count; index += 2)
{
    dictionary[list[index]] = list[index + 1];
}
Run Code Online (Sandbox Code Playgroud)

你绝对可以用LINQ做到这一点,但它会更复杂 - 我喜欢使用LINQ,因为它使事情更简单,但有时它不太合适.

(显然你可以把它包装成一个扩展方法.)

请注意,dictionary.Add(list[index], list[index + 1])如果存在重复键,则可以使用此方法抛出异常 - 上述代码将静默使用特定键的最后一次出现.