c# - 如何使用 linq 用默认值填充字典?

标签 c# linq

Dictionary1 有一个字符串的实体键,比方说“Def3”。

看起来像:

Ent1, Def3
Ent3, Def3

Dictionary2 具有与另一个字符串相关联的所有实体,该字符串不重要。

Ent1, Unimportant
Ent2, Unimportant
Ent3, Unimportant

我知道我想为 Dictionary2 中每个在 Dictionary1 中不存在的实体放入 Dictionary1 中的默认字符串 Def2。

如何更新 Dictionary1 使其看起来像:

Ent1, Def3
Ent2, Def2
Ent3, Def3

仅供引用:这些是更大词典的简短示例,因此简单的逐个插入在这里不起作用。

更新:好的,让我澄清一下。如果 Dictionary2 有一个 Key 不是 Dictionary1 中的键,则用字符串 ("Def2") 添加 Dictionary2 的 Key。

最佳答案

foreach(var key in Dictionary2.Keys.Where(k => !Dictionary1.Keys.Contains(k)))
{
    Dictionary1.Add(key, defaultstring);
}

关于c# - 如何使用 linq 用默认值填充字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50900024/

相关文章:

c# - 在 LINQ QUery : 中的 .Select 中使用索引时出错

c# - 在 xdocument 中移动节点

c# - 如何更改文件扩展名的默认图标?

c# - 数据表分组,用逗号分隔

linq - 动态LINQ OR条件

c# - 如何将表达式树转换为部分 SQL 查询?

c# - 我如何使用 SyndicationFeed?

c# - 无法序列化自定义类型

c# - 以编程方式删除 excel 工作表

javascript - 回发后 Jquery Fancybox 不工作