【发布时间】:2011-12-07 09:33:19
【问题描述】:
我需要帮助。我正在使用一个数组列表,突然我收到了这个错误。
在 mscorlib.dll 中发生了“System.InvalidOperationException”类型的未处理异常
附加信息:收藏已修改;枚举操作可能无法执行。
这是显示异常的代码...
foreach (PC_list x in onlinelist) {
if ((nowtime.Subtract(x.time)).TotalSeconds > 5) {
Invoke(new MethodInvoker(delegate {
index = Main_ListBox.FindString(x.PcName);
if(index != ListBox.NoMatches)
Main_ListBox.Items.RemoveAt(index);
}));
onlinelist.Remove(x);
//Thread.Sleep(500);
}
}
在哪里
public class PC_list {
public string PcName;
public string ip;
public string status;
public string NickName;
public DateTime time;
}
注意事项:
- onlinelist 是一个数组列表
- nowtime 和 x.time 是 DateTime。
调用堆栈
mscorlib.dll!System.Collections.ArrayList.ArrayListEnumeratorSimple.MoveNext() + 0x122 bytes
BlueBall.exe!BlueBall.BlueBall.clean_arraylist() Line 74 + 0x1a8 bytes C#
BlueBall.exe!BlueBall.BlueBall.server() Line 61 + 0x8 bytes C#
mscorlib.dll!System.Threading.ThreadHelper.ThreadStart_Context(object state) + 0x63 bytes
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool ignoreSyncCtx) + 0xb0 bytes
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) + 0x2c bytes
mscorlib.dll!System.Threading.ThreadHelper.ThreadStart() + 0x44 bytes
[Native to Managed Transition]
【问题讨论】:
标签: c# .net multithreading invoke