在KeyValuePair列表中查找重复键

本文关键字:查找 KeyValuePair 列表 | 更新日期: 2023-09-27 18:09:37

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

这是我的示例代码

list = List<KeyValuePair<string, Object>>

我需要搜索这个列表,并使用重复键(字符串)获得KeyValuePair<string, Object>的任何项目。

如有任何帮助,不胜感激

在KeyValuePair列表中查找重复键

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());
    }
}