我有一個循環,理論上應該循環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