如何使用Lambda将两个Dictionary与List <string>包含在Dictionaries </string>中

时间:2014-06-03 06:09:31

标签: c# dictionary lambda

我有两个Dictionary<string, List<string>>类型的词典 如何将这两个词典合并为一个词典Dictionary<string, List<string>>

List<string> lstA = new List<string> { "a", "b", "c", "d" };
List<string> lstB = new List<string> { "1", "2", "3", "4" };
var dicA = new Dictionary<string, List<string>> { { "0", lstA } };
var dicB = new Dictionary<string, List<string>> { { "0", lstB } };

var mergeDic = dicA.Concat(dicB)
                   .GroupBy(t => t.Key)
                   .ToDictionary(k => k.Key, d => d.Select(k => k.Value)
                   .ToList());

1 个答案:

答案 0 :(得分:0)

d.Select更改为d.SelectMany

var mergeDic = dicA.Concat(dicB)
                   .GroupBy(t => t.Key)
                   .ToDictionary(k => k.Key, d => d.SelectMany(k => k.Value)
                   .ToList());