for循环中的Strange ArgumentOutOfRangeException

时间:2015-08-28 09:11:32

标签: c# .net roslyn

我刚刚在简单的for循环中遇到了一个奇怪的问题。当我尝试访问 input_list [i] 时,我得到 ArgumentOutOfRangeException input_list 是一些对象的列表,有两个成员。但是当抛出异常时, i 等于 2

post_max_size=10M

在第二个版本中,我只引入了一个局部变量 k ,用作 input_list 的索引:

var count = input_list.Count;
var taskList = new Thread[count];
for (int i = 0; i < count; i++)
{
    taskList[i] = new Thread(() => SomeFunction(input_list[i]);
    taskList[i].Start();
}

第二个版本不会抛出异常。

那么,在这个例子中, i 怎么能 2 ?为什么 k 以同样的方式成为 2

我正在使用.NET Framework和Visual Studio 2015的4.6版。

0 个答案:

没有答案
相关问题