C#foreach遍历时不能修改集合值

foreach (string a in B)
{
    //修改B的值
}

上图报错。原因:遍历时不能中途修改集合B的值。

解决方法:新建一个集合D,集合D添加所有集合B的项,再遍历集合D,此时即可修改集合B的值。如下图。

List<string> D= new List<string>();
foreach(string c in B)
    D.Add(c);
foreach (string a in B)
{
    //修改B的值
}


版权声明:本文为weixin_50862772原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。