Если мой словарь 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>();
Изменить - для этого вопроса предположим, что ключи в обоих словарях являются последовательными, в порядке возрастания и всегда одинаковы.
@maccettura Ответить в ответах!





Предполагая, что оба словаря имеют одинаковое количество и одинаковые ключи:
map1.ToDictionary(x => map2[x.Key], x => x.Value)
Это не сработает, если второй словарь имеет повторяющиеся значения.
Это сработало, спасибо. Я пробовал что-то поблизости, но это было неправильно! Спасибо!
@maccettura. Словари имеют индексатор, который принимает аргумент того же типа, что и ключ словаря. Это похоже на индекс, но на самом деле это ключ. И да, примеры показывают этот ключ.
@ OlivierJacot-Descombes Я знаю это. Я сказал, что если бы в примере OP был индекс (то есть фактический индекс заказа), вы, конечно, не смогли бы получить к нему доступ по произвольному ключу. Но поскольку я неправильно прочитал, а в словарях есть ключ int, ответ Селмана правильный. Я поддержал
Что произойдет, если один из словарей содержит значение, которого нет в другом?