gpt4 book ai didi

c# - C#-mscorlib.dll中未处理的异常

转载 作者:行者123 更新时间:2023-12-03 09:09:54 28 4
gpt4 key购买 nike

循环时出现此错误

An unhandled exception of type 'System.InvalidOperationException' occurred in mscorlib.dll
Additional information: Collection was modified; enumeration operation may not execute

最佳答案

您遇到的错误是由以下情况引起的

foreach(var item in collection)
{
collection.Add(newItem); // will set up the error
collection.Remove(item); // will set up the error
}

上面的代码实际上编译为如下代码:
IEnumerator iEnum = collection.GetEnumerator();

while (iEnum.GetNext())
{
var item = iEnum.Current;

collection.Add(newItem); // will set up the error
collection.Remove(item); // will set up the error
}

除非您尝试获取下一项(即在下一个循环的开始处),否则您不会收到错误。如果您修改任何IEnumerable集合,则需要退出循环,而不调用 GetNext()返回的 IEnumerator对象返回的 IEnumerable成员

因此,如果执行时在代码中的某个位置说出 Players集合,那么您所做的操作会导致 Players集合被修改,那么您将得到错误。

关于c# - C#-mscorlib.dll中未处理的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34866620/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com