我在循环中有一个 if 语句,使用Debug.Write()
我已经确定对于循环的第一次迭代,一切都按预期工作,但在随后的迭代中,if 块被忽略,但循环中的所有其他内容仍然执行。我尝试了一些变体,但到目前为止,它们都没有奏效。
最初我有:
Private int Loop()
{
int a = 50000;
int n = 0;
for (int n = 0; n < arrayListFromElsewhere.Count(); n++)
{
if ((int)arrayListFromElsewhere[n] < a)
{
Debug.WriteLine("if loop: " + n);
a = n;
}
Debug.WriteLine("N: " + n);
}
}
哪个会打印:
if loop: 0
N: 0
N: 1
N: 2
etc...
我已经验证了 ArrayList 只包含整数,用一段时间替换了 for 并尝试将 if 移动到一个单独的函数中,该函数在 for/while 内部调用,但到目前为止没有任何效果。那么我忽略了什么非常明显的事情呢?