我正在寫一個函數,它遍歷字符串[]數組並將一些對象添加到列表中。它是加載保存的遊戲系統的一部分。它還有很多bug,因爲我寫了很多代碼,然後才能測試它。但在這個調試階段,我發現了一些奇怪的錯誤,無法解釋或修復。
我無法訪問一些數據。如果我有原始代碼,for循環迭代次數少於1次。如果我將迭代器限制值加1,則它正常工作。總之,我可以迭代-1或+1次,但不是我所需要的。
這是原來的代碼,它迭代一個時間低於預期:c#for循環錯誤的迭代次數
string str = " start at " + Convert.ToInt32(s[k]) + " " + k;
for (int i = 0; i < Convert.ToInt32(s[k]); i++)
{
k++;
landOwned.Add(setle.civil.land[Convert.ToInt32(s[k]), Convert.ToInt32(s[k+1])]);
k++;
str += " iteration "+i + " finish " + k;
}
throw new ArgumentException(str);
這是在文本文件中的行:
f 4894 0 250 -523058 0 0 0 0 0 0 0 0 0 0 0 0 0 35 35 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 3 4 2 4 3 3 4 4 1 0 1 0 1 0 1 2
下面是所產生的異常截圖逮住:
你的for循環終點變化是整個循環的目的? – Sayse
不,它不是。我認爲我只通過價值,而不是函數 – Kiaurutis