我有一个循环,理论上应该循环40000次,但在循环之后退出并且不会继续执行代码,仅在一次迭代之后。我认为我并不是对for循环感到愚蠢,因为它在循环之后并没有继续,所以这可能是对Lists有限制的东西?或者可能由于VS调试器不能正常工作而引起一些问题? (可能不是tho ...) 编辑:谢谢指出最后一层是毫无意义的。我编辑了代码,但问题仍然存在。 编辑2:为了澄清,代码不会导致异常或中断。它只是停止没有任何通知,并显示窗体(因为我做一个Windows窗体应用程序)。只是...它只是不想继续并跳过其余的代码。循环在一次迭代后停止所有代码
for (int i = 0; i < hiddenLayerDepth - 1; i++)
{
Connectors.Add(new List<List<List<List<Connector>>>>());
for (int j = 0; j < playfieldSize; j++)
{
Connectors[i].Add(new List<List<List<Connector>>>());
for (int k = 0; k < playfieldSize; k++)
{
Connectors[i][j].Add(new List<List<Connector>>());
for (int l = 0; l < playfieldSize; l++)
{
Connectors[i][j][k][l].Add(new Connector());
}
}
}
}
hiddenLayerDepth
被进入循环时设置为5,并且playfieldSize
设置为10。它进入最内层循环和内执行的代码,那么它只是停止,而不增加m
。
您是否在层次结构调用中有更高的try catch语句,它只是吞下您的代码中可能发生的异常? (例如错误索引)另外,请密切关注VS –
中的输出 - 调试窗口。如果没有其他问题,您似乎缺少使用'L'循环。 –
定义“停止”?崩溃?例外?继续进行其他循环?一般评论:4D列表/数组?不,那需要重构。 – John3136