Я использую случай # 2 для обозначения того, что вы хотите не выполнять (то есть пропускать) тело цикла в случае # 2, а не то, что вы хотите сбросить цикл на 0. (См. Комментарии к коду, если я ' Мы получили это назад.)
Это предложение может быть спорным, поскольку можно сказать, что менее условное условие в цикле for находится на низком уровне самодокументируемой шкалы, но если это вас не беспокоит, краткий способ написания того, что, как вам кажется, вам хочу это:
for (int i= 0; i<values.Length && values[i]!= MAGIC_1; i++)
{
if (values[i] == MAGIC_2)
{
// Don't do the loop body for this case but continue on looping
continue;
// If you want to reset the loop to zero instead of skip the 2 case,
// comment-out the continue; and un-comment the line below:
// i=0;
}
// Do long loop body here
}