Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 列表集合已修改-尝试使用foreach循环时出错_C#_List - Fatal编程技术网

C# 列表集合已修改-尝试使用foreach循环时出错

C# 列表集合已修改-尝试使用foreach循环时出错,c#,list,C#,List,我试图修改列表集合列表值中的一些值。我试图修改的值listValues[I].destinationValue和listValues[I].sourceKey,它也是一个列表集合。当我尝试向集合添加另一个值时,它使用foreach循环工作。但当它转到foreach循环值中的下一个值时,它停止,我得到错误:System.InvalidOperationException:“Collection was modified;” 你能建议我如何克服这个问题吗 在foreach循环中,您不会编辑相同的列表

我试图修改列表集合列表值中的一些值。我试图修改的值listValues[I].destinationValue和listValues[I].sourceKey,它也是一个列表集合。当我尝试向集合添加另一个值时,它使用foreach循环工作。但当它转到foreach循环值中的下一个值时,它停止,我得到错误:System.InvalidOperationException:“Collection was modified;”


你能建议我如何克服这个问题吗

在foreach循环中,您不会编辑相同的列表或相同的枚举列表,因为我们对可枚举项使用相同的列表


只需使用for loop进行编辑-它就可以工作。

将foreach转换为for loop for int i=0的可能重复项;iforeach (var listValue in listValues) { if (listValue.hostName == data[4] && listValue.description == data[3] && listValue.ruleName == data[2]) { var i = listValues.FindIndex(x => x.hostName.Equals(listValue.hostName)); listValues[i].destinationValue.Add(data[0]); listValues[i].sourceKey.Add(data[1]); } else { listValues.Add(docValueModelClass); } } if (listValues.Count == 0) { listValues.Add(docValueModelClass); }