我有一个对象说 Person 如下:
public class Person
{
public int Id {get; set:}
public int Age {get; set:}
public string Name {get; set:}
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我有一个像这样的人的列表
List<Person> listPerson = new List<Person>();
Person p = new Person { Id=1, Age=27, Name="John" };
listPerson.Add(p);
p = new Person { Id=2, Age=28, Name="Joy" };
listPerson.Add(p);
Run Code Online (Sandbox Code Playgroud)
现在我想将列表中存在的所有项目的名称修改为 Joy,所以以下方法可以:
foreach(var item in listPerson)
{
item.name="Joy";
}
Run Code Online (Sandbox Code Playgroud)
我没有收到任何错误,并且该项目的值也发生了更改,但我发现之前的帖子说我们无法使用 foreach 更改 IEnumerable。如果上面的代码方法是错误的,那么正确的方法是什么?