如果您认为我没有做过足够的研究,请先询问我
问题
刚刚遇到了业务需求,我们必须确保字典中的值是唯一的.即,我们应该过滤字典,这种过滤的结果应该具有唯一值的键值对.
顺便说一下,它是一个带字符串值和字符串键的简单字典.为了澄清更多,下面是样本输入和预期输出值 –
sourceDictionary将具有如下值(仅为了表示数据,在语法上不正确) – {{“Item1”,“Item One”},{“Item11”,{“Item2”,“项目二“},{”Item22“,”Item Two“}}对于此输入,filteredDictionary应如下所示 – {{”Item1“,”Item One“},{”Item2“,”Item Two“}}
我提出的解决方案是有效的
var sourceDictionary = serviceAgent.GetSampleDictionary(); // Simplified for brevity var filteredDictionary = sourceDictionary.GroupBy(s => s.Value) .Where(group => @group.Any()) .Select(g => g.First()) .ToDictionary(kvp => kvp.Key,kvp => kvp.Value);
题
我对它做了太多的逻辑吗?或者,换句话说,有一个更简单的方法吗?