jey*_*jow -2 c# for-loop break
我有以下循环:
string[] sfind = new string[Globais.dep.Length];
int udt = 0;
for (int getnum = 0; getnum <= Globais.dep.Length; getnum++)
{
if (Globais.dep[getnum].Contains(items[1]))
{
sfind[udt] = Globais.dep[getnum];
udt ++;
}
}
Run Code Online (Sandbox Code Playgroud)
我有更多的代码遵循这个循环,但我用调试器观察它并且它不运行下面的代码,在for循环结束后它会破坏整个代码.我在这做错了什么?我没有看到周期的问题.
无论如何,谢谢!
列表或数组索引器从0开始并以长度为1结束,但您正在使用getnum <= Globais.dep.Length,<而不是使用<=:
for (int getnum = 0; getnum < Globais.dep.Length; getnum++)
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
旁注:你的代码引起了IndexOutOfRangeException你注意到的一个问题,然后你应该在问题中提到它,或者没有,然后有些东西将它隐藏起来,try...catch这通常是一个坏主意.