我有<int, bool>,
喜欢1, false; 2 true;... ; 9 true;
我需要找出是否有一个独特的。
例如,如果除9之外的所有都是假的,我可以输出9
如何实现这一目标?
答案 0 :(得分:3)
您可以按Value
进行分组,并获取包含一项的小组:
var result = dictionary
.GroupBy(x => x.Value)
.First(g => g.Count() == 1) // get the group
.First().Key; // get the first pair in the group and it's key
如果没有唯一值,这将抛出异常,为了防止这种情况你可以使用:
var result = dictionary
.GroupBy(x => x.Value)
.FirstOrDefault(g => g.Count() == 1);
if(result != null)
{
var value = result.First().Key;
}