var names = new[] {
new { Name = "John", Age = 44 },
new { Name = "Diana", Age = 45 },
new { Name = "James", Age = 17 },
new { Name = "Francesca", Age = 15}
};
for (int i = 0; i < names.Length; i++)
{
names[i].Age = 23; //-------->Error
names[i] = new { Name = "XYX", Age = 26 }; //----->Works fine
}
foreach(var name in names)
{
name.Age = 1; //-------->Error
name = new { Name = "ABC", Age = 25 }; //-------->Error
}
У меня здесь два вопроса. 1. Почему я не смог изменить любой атрибут переменной итерации.
2. Я мог только назначить новый объект переменной итерации в цикле for. Не в петле foreach. Зачем?Почему мы не можем изменить переменную итерации в цикле foreach
Примечание: Это ответ на вопрос 1. – Matthias
Я был все в несогласии с вами, пока вы не упомянули проблему сортировки. Теперь я понимаю. Большое спасибо! –