C#循环不循环if语句

0 c# loops

我在循环中有一个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);
    }
}
Run Code Online (Sandbox Code Playgroud)

哪个会打印:

if loop: 0
N: 0
N: 1
N: 2
etc...
Run Code Online (Sandbox Code Playgroud)

我已经验证了ArrayList只包含整数,用一段时间替换了for,并尝试将if移动到一个单独的函数中,该函数在for/while中调用,但到目前为止还没有任何工作.那么我忽略了什么超级显而易见的事情?

Jon*_*eet 8

在循环的第一次迭代之后,您已设置an.从那时起,if如果值中的ArrayList值为负,则只会进入语句.任何值的负?(失败的简短但完整的例子真的会帮助,顺便说一句-以及对你有什么解释的一些尝试.做)

(顺便说一句,为什么你仍然使用非泛型集合?2004年正在调用 - 它想要它的代码!)