我正在编写一个遍历 string[] 数组并将一些对象添加到列表中的函数。它是加载保存的游戏系统的一部分。它还有很多错误,因为我写了很多代码,之前可以测试任何一个。但是在这个调试阶段,我发现了一些奇怪的错误,无法解释或修复。
我无法访问某些数据。如果我有原始代码,for-loop 的迭代次数比需要的少 1 次。如果我将 +1 添加到迭代器限制,它会正常运行。总而言之,我可以迭代 -1 或 +1 次,但没有我需要的那么多。
这是原始代码,它的迭代次数比预期的少:
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
以下是捕获的异常的屏幕截图: