c# - 从 List<string> 初始化 Dictionary<string,string>

标签 c# generics dictionary extension-methods

最简单的方法,也许是通过扩展方法? :

var MyDic = new Dictionary<string,string>{ "key1", "val1", "key2", "val2", ...}; 

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

最佳答案

交替有点痛苦。 就我个人而言,我只是手写:

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

您绝对可以使用 LINQ 来完成,但它会更复杂 - 我喜欢使用 LINQ,因为它可以使事情变得更简单,但有时它并不是很合适。

(显然,您可以将其包装到扩展方法中。)

请注意,如果有重复键,您可以使用 dictionary.Add(list[index], list[index + 1]) 抛出异常 - 上面的代码将静默使用 最后 特定键的出现。

关于c# - 从 List<string> 初始化 Dictionary<string,string>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20963013/

相关文章:

c# - Azure 网站.well-known 路由变得无法访问

c# - 将枚举属性数据绑定(bind)到网格并显示描述

c# - 获取创建 WCF 服务实例的调用方(或方法)的名称?

python - 如何找到排行榜中的排名并将其转换为 Python 3 中的字典?

c# - 使用 LINQ 解析文本文件

c# - 为什么编译器选择通用方法而不是特定方法?

c# - Java 中的 TreeSet 等同于 C#.net

java - 公共(public)类 PriorityQueue <T extends Comparable<T>>

swift - 在 [String:String] 中转换 [(key : String, value: String)]

python - 来自 groupby 多列的 bin 大小的嵌套字典