У меня есть произвольное количество словарей (которые есть в списке, уже в порядке), к которым я хочу подключиться.Например, для N = 2:
List<Dictionary<string, int>> lstInput = new List<Dictionary<string, int>>();
Dictionary<string, int> dctTest1 = new Dictionary<string, int>();
Dictionary<string, int> dctTest2 = new Dictionary<string, int>();
dctTest1.Add("ABC", 123);
dctTest2.Add("ABC", 321);
dctTest2.Add("CBA", 321);
lstInput.Add(dctTest1);
lstInput.Add(dctTest2);
Каждый словарь уже имеет уникальные ключи.
Я хочу преобразовать lstInput
в:
Dictionary<string, int[]> dctOutput = new Dictionary<string, int[]>();
где dctOutput
выглядит следующим образом:
"ABC": [123, 321]
"CBA": [0, 321]
То есть набор ключей dctOutput
равен объединению набора ключей каждого словаря в lstInput
;более того, * i * th-позиция каждого значения в dctOutput
равна значению соответствующего ключа в * i * th-словаре в lstInput
или 0
, если соответствующего ключа нет.
Как мне написать C # код для этого?