小编kan*_*ika的帖子

可以在foreach中修改List的元素吗

我有一个对象说 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。如果上面的代码方法是错误的,那么正确的方法是什么?

.net c# asp.net ienumerable list

1
推荐指数
1
解决办法
341
查看次数

标签 统计

.net ×1

asp.net ×1

c# ×1

ienumerable ×1

list ×1