【问题标题】:Finding duplicate key in a List of KeyValuePair在 KeyValuePair 列表中查找重复键
【发布时间】:2013-04-09 14:23:59
【问题描述】:

我的项目中有一个键值对列表。我想搜索 List<KeyValuePair<String,object>> 并找到任何重复的键并使用 C# lambda 表达式获取该键和值。有人知道怎么做吗?

这是我的示例代码

list = List<KeyValuePair<string, Object>>

我需要搜索此列表并使用重复键(字符串)获取 KeyValuePair&lt;string, Object&gt; 的任何项目。

任何帮助将不胜感激

【问题讨论】:

    标签: c# key duplicates


    【解决方案1】:
    IEnumerable<IGrouping<string, KeyValuePair<string, object>>> duplicateKVPsByKey = list.GroupBy(kvp => kvp.Key).Where(g => g.Count() > 1);
    

    这会按键对 KVP 列表进行分组,然后将其过滤到仅具有大于 1 的 KVP 组。

    从那里您可以遍历列表并查看每个重复键并查看关联的对象。

    这将打印出所有的键和与之关联的对象

    foreach (var group in duplicateKVPsByKey)
    {
        Console.WriteLine(group.Key);
        foreach (var kvp in group)
        {
            Console.WriteLine(kvp.Value.ToString());
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-21
      • 1970-01-01
      • 1970-01-01
      • 2021-10-19
      • 2013-02-21
      相关资源
      最近更新 更多