Подскажите как добавить ключ и значение в словарь такого типо
public static Dictionary<string, Dictionary<string, int>> Dic = new Dictionary<string, Dictionary<string, int>>();
Такой способ работать не будит
Dic.Add("1234", "1234", 1234);
Если вложенный словарь уже существует:
Dic[key1][key2] = value;
Dic[key1].Add(key2, value);
Если нет:
Dic.Add(key1, new Dictionary<string, int> { { key2, value } });
Если вы не знаете существует ли он:
Dictionary<string, int> inner;
if (!Dic.TryGetValue(key1, out inner))
Dic.Add(key1, inner = new Dictionary<string, int>());
inner[key2] = value;
Но, скорее всего, тут можно обойтись одним словарем с составным ключом:
static Dictionary<Tuple<string, string>, int> Dic = new Dictionary<Tuple<string, string>, int>();
Добавление в такой словарь будет довольно простым:
Dic.Add(Tuple.Create(key1, key2), value);
Получение значения будет выглядеть аналогично.
Если вы используйте последнюю версию C# - то также можно воспользоваться новым языковым средством:
static Dictionary<(string, string), int> Dic = new Dictionary<(string, string), int>();
Dic.Add((key1, key2), value);
Dic["1234"].Add("1234", 1234);
или
Dic["1234"]["1234"] = 1234;
При условии, что элемент с ключом "1234" уже существует, иначе, нужно его предварительно добавить:
Dic.Add("1234", new Dictionary<string, int>());
или
Dic["1234"] = new Dictionary<string, int>();
Либо сразу создаем внутренний словарь с добавленным элементом:
Dic["1234"] = new Dictionary<string, int> { ["1234"] = 1234 };
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости