Итак, проблема в следующем: у меня есть словарь, который выглядит так
Dictionary<string, Dictionary<string, int>> Stats
Для визуализации:
"Stats":{
"1":{
"True":0,
"False":0
},
"2":{
"True":0,
"False":0
}
}
Итак, я хочу изменить значение «True «где ключ -« 1 ». Мой код выглядит так:
CurrentStats.Stats["1"]["True"] += 1;
Но он меняет значение «Истина» как для ключа «1», так и для ключа «2». Как я могу это исправить и почему меняются оба значения?
public async Task<IStatistics> CreateStats()
{
Dictionary<string, Dictionary<string, int>> stats = new Dictionary<string, Dictionary<string, int>>();
Dictionary<string, int> dt = new Dictionary<string, int>();
dt.Add("True", 0);
dt.Add("False", 0);
var topics = new TopicServices();
foreach (var item in (await topics.GetTopics()).ToList())
{
stats.Add(item.id, dt);
}
var st = new Statistics() { Stats = stats };
return st;
}
это функция, которую я использую для инициализации словаря