【发布时间】:2010-09-03 09:06:20
【问题描述】:
我有两本类似的字典
Dictionary<String, String> one = new Dictionary<string, string>
{
{ "A", "1" },
{ "B", "2" },
{ "C", "3" },
{ "D", "4" },
{ "E", "5" },
{ "F", "6" },
{ "G", "7" },
{ "H", "8" }
};
Dictionary<String, String> two = new Dictionary<string, string>
{
{ "A", "1" },
{ "B", "2" },
{ "C", "3" },
{ "E", "4" },
{ "F", "4" },
{ "I", "6" },
{ "J", "10" },
{ "K", "11" }
};
我需要在键级别和值级别合并两个字典,并将结果字典添加到新字典three,结果字典不应该有相同的键或相同的值,在这种情况下结果字典就像
Dictionary<String, String> three = new Dictionary<string, string>
{
{ "A", "1" },
{ "B", "2" },
{ "C", "3" },
{ "D", "4" },
{ "E", "5" },
{ "F", "6" },
{ "G", "7" },
{ "H", "8" },
{ "J", "10" },
{ "K", "11" }
};
现在我正在使用喜欢
- 联合两个字典中的所有键
- 使用新键创建新字典
- 删除重复值(相同值)
编辑:如果两个字典具有相同的键值对,那么我需要存储第一个字典中的键值对。
有没有办法使用 LINQ 来做到这一点? 提前致谢
【问题讨论】:
-
当两个字典中的键匹配时,您希望将值存储在第一个字典中,就像对 F, 6 所做的那样?
-
是的。如果两个字典具有相同的键值对,那么我需要存储第一个字典中的键值对
-
您需要更精确地指定冲突解决规则。
标签: c# linq dictionary