词典 1:
Dictionary<string, IList<PuntoMappa>> PuntiCantieriCMS = new Dictionary<string, IList<PuntoMappa>>();
词典 2:
Dictionary<string, IList<PuntoMappa>> PuntiCantieri = new Dictionary<string, IList<PuntoMappa>>();
我想要将它们联合起来;如果 key 相同,则它们必须联合 IList<PuntoMappa>
对于每个键。可能吗?
尝试过:
PuntiCantieri = PuntiCantieri .Union(PuntiCantieriCMS ).ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
但是当2个key相似时,会触发异常。
最佳答案
这应该有效:
Dictionary<string, List<PuntoMappa>> unioned = PuntiCantieriCMS
.Concat(PuntiCantieri)
.GroupBy(kv => kv.Key)
.ToDictionary(kv => kv.Key, kv => kv.SelectMany(g => g.Value).ToList());
请注意,我已将值从 IList<T>
更改为至 List<T>
.
关于c# - 我怎样才能用相同的键合并两个字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17025537/