关于foreach,我想不用多说了吧?尽可能使用for吧,最好用一个本地变量表示结束条件。eg:
c = Arr.Length;
for (i = 0; i < c; i++)
{
// ...
}
虽然有很多地方都会告诉你,MS的JIT能够进行一些优化,像这样的做法完全没有必要,只需要直接写成for (i = 0; i < Arr.Length; i++)。但是根据我的测试表明,至少在CF下面,这样的优化很有可能不会出现的(甚至我怀疑在.NET Framework下面也一样),尤其是在比较复杂的情况下面。直接这么写也许会有点笨拙,但是如果你在一个三层的嵌套里面进行大量的循环,也许值得这么去做。如果是一层的小循环,那就不必了。但是必须指出的是,foreach还是要极力避免的。