У меня есть следующий код на C#, где vector - это [строка, двойной] тип словаря. Я хочу разделить все значения в этом словаре на значение «величина». Теперь, мой наивный первый код был следующим:Разделение всех значений словаря на значение
foreach (var key in vector.Keys)
{
vector[key] = vector[key]/magnitude;
}
Который бросает исключение, заявив, что коллекция была изменена в Еогеаспе. Я могу создать второй словарь для записи результирующих значений, но я не хочу этого.
Есть ли более простой способ сделать это, например, используя методы, которые работают со всеми значениями словаря, например, следующие?
vector.Values().Aggreagate(), vector.Values().Average()
Вы хотите изменить словарь? Я спрашиваю, потому что вы не упомянули об этом. Если вы просто хотите вычислить значение в соответствии со значениями словаря, используйте локальную переменную. –