У меня довольно сложный случай.Я хочу изменить значение KeyVluePair в этом словаре -> Dictionary<string, List<KeyValuePair<string, int>>>
Пока я сделал это, но я не знаю, как продолжить:
string input = Console.ReadLine();
Dictionary<string, List<KeyValuePair<string, int>>> dworfs = new Dictionary<string, List<KeyValuePair<string, int>>>();
while (input != "Once upon a time")
{
string[] elements = input.Split(new[] { " <:> " }, StringSplitOptions.RemoveEmptyEntries);
if (dworfs.ContainsKey(elements[0]))
{
if (dworfs[elements[0]].Any(x => x.Key.Contains(elements[1])))
{
var dworf = dworfs[elements[0]].FirstOrDefault(x => x.Key == elements[1]);
if (dworf.Value < int.Parse(elements[2]))
{
dworfs[elements[0]].FirstOrDefault(x => x.Key == elements[1]) = new KeyValuePair<string,int> (elements[1], int.Parse(elements[2]));
}
}
else
{
dworfs[elements[0]].Add(new KeyValuePair<string, int>(elements[1], int.Parse(elements[2])));
}
}
else
{
dworfs.Add(elements[0], new List<KeyValuePair<string, int>> { new KeyValuePair<string, int> (elements[1], int.Parse(elements[2])) });
}
input = Console.ReadLine();
}
Этострока dworfs[elements[0]].FirstOrDefault(x => x.Key == elements[1]) = new KeyValuePair<string,int> (elements[1], int.Parse(elements[2]));
дает мне ошибку Левая часть присваивания должна быть переменной, свойством или индексатором .Я не знаю, как назначить значение.Может кто-нибудь помочь?