小编Thi*_*nka的帖子

如何过滤字典以使项目具有唯一值?

如果您认为我没有做过足够的研究,请先询问我

问题 刚遇到业务需求,我们必须确保字典中的值是唯一的.即,我们应该过滤字典,这种过滤的结果应该具有唯一值的键值对.

顺便说一下,它是一个带字符串值和字符串键的简单字典.为了澄清更多,下面是示例输入和预期输出值 -
sourceDictionary将具有如下值(仅为了表示数据,而不是语法正确) - {{"Item1","Item One"},{"Item11 ","项目一"},{"Item2","第二项"},{"Item22","第二项"}}对于此输入,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);  
Run Code Online (Sandbox Code Playgroud)

问题 我是否在制作太多逻辑?或者,换句话说,有一个更简单的方法吗?

.net c# linq

6
推荐指数
1
解决办法
5121
查看次数

标签 统计

.net ×1

c# ×1

linq ×1