我有两个Dictionary<Person,Boolean>
。
dict a contains:
Person A -> false
Person B -> true,
Person C -> false;
dict b包含:
Person A -> true;
Person D -> false;
我希望得到一个结果,其中包含所有人一次,并设置布尔值为ture,如果一个人在两个列表中都包含true。
如何使用dict.Union()
解决此问题?
谢谢Kooki
答案 0 :(得分:4)
听起来你可以使用:
var result = first.Union(second)
.GroupBy(x => x.Key) // Group by dictionary keys
.ToDictionary(g => g.Key, // Key for new dictionary
g => g.Any(p => p.Value)); // Any true values?