【发布时间】:2017-01-28 04:24:53
【问题描述】:
我有一个字典列表,例如:
dic1.Add("A_key1","A_val11"); dic1.Add("B_key1","B_val11")
dic1.Add("C","C"); dic1.Add("D","D");
dic2.Add("A_key1","A_val21"); dic1.Add("B_key1","B_val21");
dic2.Add("C","C"); dic1.Add("D","D");
dic2.Add("A_key2","A_val22"); dic1.Add("B_key2","B_val22");
dic2.Add("A_key3","A_val23"); dic1.Add("B_key3","B_val23");
List<Dictionary<string,string>> tempList = new List<Dictionary<string,string>>{dic1, dic2};
我需要从 tempList 遵循规则创建一个字典:key = "A_key*" value, val = "B_key*" value 从列表中的所有原始字典。 例如,在上面的例子中:
expectDic = {("A_val11","B_val11"),
("A_val21","A_val21"),
("A_val22","A_val22"),
("A_val23","A_val23")}
我可以用 Linq 解决吗?
【问题讨论】:
-
SelectMany和ToDictionary的组合可能会成功 -
永远只有两本字典吗?两个字典中没有匹配键的项目怎么办?
-
不太清楚。除了第一个条目之外,键和值是相同的。你能解释得更好吗?
-
缺少 dic2。已编辑
标签: c# linq list generics dictionary