使用foreach循环

Har*_*hna 0 .net c# foreach for-loop winforms

我打破的代码用于循环,而无需使用断裂等我为给定循环时below.And 是1或2或3或任何其他人,但如果条件为真,则环将被终止,因为如果条件为将5 true.And所以NO需要休息的需要there.Beacause我不想用休息.我已经做了这样的工作here.It.

int myCondition=0;
bool flag=false;
for(int i=0;i<5;i++)
{
   if(myCondition==0)
   {
       flag=true;
   }
   if(flag)
       i=5;
}
Run Code Online (Sandbox Code Playgroud)

但现在我想用foreach循环,在这种循环时,一些条件为真,那么我想打破foreach循环 code.So我该怎么办这里打破foreach循环的代码,而无需使用休息?就像在上面的for循环中一样,当条件为真时,我将i初始化为5.在foreach循环中,任何类似的东西都要做以避免中断.

Jon*_*eet 10

你应该使用语言中的内容.没有必要避免break- 只需使用它.换句话说,"我不想使用break"并不是一个足够好的理由:如果你认为你有充分的理由不使用它,那么你应该解释这个原因.不要假装完全没有合理的功能,并提出复杂的方案来避免它们.


Hen*_*man 8

不要这样做.

你在for循环中对'i'的操作已经有问题了.试图在foreach循环中弄乱迭代器将是彻头彻尾的脏.如果它完全编译.

我会用a break或as 编写你的例子:

bool myCondition=false;
for(int i=0;i<5 && !myCondition;i++)
{
   ....
}
Run Code Online (Sandbox Code Playgroud)

在foreach循环中,当您在整个序列完成之前完成时,只需调用即可 break