循环在一次迭代后停止所有代码

时间:2015-10-07 07:40:11

标签: c# loops

我有一个循环,理论上应该循环40000次但退出并且在循环之后不再继续代码,只需一次迭代。我认为我对for循环不是一个愚蠢的威胁,因为它根本没有在循环之后继续,所以这可能是对列表有限制的东西?或者有些关于VS调试器的东西不能正常工作? (可能不是......) 修改:感谢您指出最后一层是毫无意义的。我编辑了代码,但问题仍然存在。 Edit2 :为了澄清,代码不会导致异常或中断。它只是停止没有任何通知,并显示表单(因为我做一个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

2 个答案:

答案 0 :(得分:1)

缺少

Connectors[i][j][k].Add(new List<List<Connector>>());

如果你知道你应该创建的大小并预先排列

答案 1 :(得分:-1)

好吧,我试图添加一个&#39;连接器&#39;哪里没有清单。未添加包含将计算连接器的列表的列表。