c# - 从具有重复项的列表创建字典

标签 c# dictionary

我的场景是我有一个 List<MyObject>MyObject有一个属性ID .我想根据该列表制作字典:

        var myDic = MyList.ToDictionary(e => e.ID);

问题是有时我有一些重复的 ID。在那种情况下,我想将第一项存储到字典中并忽略其余项,并在可能的情况下对跳过的项进行某种通知。

现在我收到一个异常,告诉我我的列表中有重复的键,但我不能/不想修改原始列表。有没有一种方法可以在不创建没有重复 ID 的新列表的情况下执行任务?

最佳答案

var myDic = MyList.ToLookup(x => x.ID)
                  .ToDictionary(x => x.Key, x => x.First());

关于c# - 从具有重复项的列表创建字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24618375/

相关文章:

javascript - 使用 JavaScript 将动态数字添加到 CSS map Pin

Python 循环 vs 理解列表 vs 映射的副作用(即不使用返回值)

python - 使用字典的列表理解

C# 变长字符串数组

c# - 是否可以避免沮丧?

c# - 在 TextBox 上处理 KeyUp 时静音叮声

python - 为什么在运行此脚本时获取无效的文字?

c# - 如何使用 Linq 过滤 Application.OpenForms 集合?

c# - 从 C : fputc and fwrite in C#? 转换

arrays - 如何使用搜索栏对字典数组进行排序