合并<;int,string>;及<;整数,双精度>;进入<;双,字符串>;C#字典

合并<;int,string>;及<;整数,双精度>;进入<;双,字符串>;C#字典,c#,dictionary,merge,C#,Dictionary,Merge,如果我的字典1是: 0 : string1 1 : string2 2 : string3 我的字典2是: 0 : 28.0 1 : 12.6 2 : -12.4 如何获得具有以下功能的组合词典: 28.0 : string1 12.6 : string2 -12.4 : string3 到目前为止,我就是这样使用它们的 SortedDictionary<int, double> map2 = new SortedDictionary<int, double>(

如果我的字典1是:

0 : string1
1 : string2
2 : string3
我的字典2是:

0 : 28.0
1 : 12.6
2 : -12.4
如何获得具有以下功能的组合词典:

28.0  : string1
12.6  : string2
-12.4 : string3
到目前为止,我就是这样使用它们的

SortedDictionary<int, double> map2 = new SortedDictionary<int, double>();
SortedDictionary<int, string> map1 = new SortedDictionary<int, string>();
SortedDictionary map2=新的SortedDictionary();
SortedDictionary map1=新的SortedDictionary();

编辑-对于这个问题,假设两个字典中的键都是连续的、按递增顺序排列的,并且始终相同

假设两个字典具有相同的计数和键:

map1.ToDictionary(x => map2[x.Key], x => x.Value)

如果第二个字典包含重复的值,则此操作将失败。

如果其中一个字典包含另一个字典不包含的值,会发生什么情况?@maccettura answers!成功了,谢谢。我在附近试着做点什么,但错了!谢谢@麦克塞图拉。字典具有接受与字典键类型相同的参数的。它看起来像一个索引,但实际上是关键。是的,这些例子展示了这把钥匙。@OlivierJacot Descombes我知道。我想说的是,如果OP的示例有索引(意味着实际的顺序索引),那么您肯定无法通过任意键访问它。但是因为我读错了,字典里有一个
int
key,塞尔曼的答案是正确的。我投了赞成票