Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 如何停止/打破省道/颤振中的每个循环?_Loops_Flutter_Dart_Foreach - Fatal编程技术网

Loops 如何停止/打破省道/颤振中的每个循环?

Loops 如何停止/打破省道/颤振中的每个循环?,loops,flutter,dart,foreach,Loops,Flutter,Dart,Foreach,我想在for循环执行完成后中断forEach循环 void main() { var id = [1, 2, 3, 4, 5]; id.asMap().forEach((index, number) { print('ForEach loop'); for (int i = 0; i < 1; i++) { print("for loop"); } }); } voi

我想在for循环执行完成后中断forEach循环

  void main() {
      var id = [1, 2, 3, 4, 5];


      id.asMap().forEach((index, number) {
        print('ForEach loop');

        for (int i = 0; i < 1; i++) {
          print("for loop");
        }
      });
    }
void main(){
变量id=[1,2,3,4,5];
id.asMap().forEach((索引,编号){
打印(“ForEach循环”);
对于(int i=0;i<1;i++){
打印(“用于循环”);
}
});
}

我认为这会对您有所帮助。使用标签来打断循环

 void main() { 
 outerloop: // This is the label name 

   for (var i = 0; i < 5; i++) { 
   print("Innerloop: ${i}"); 
   innerloop: 

  for (var j = 0; j < 5; j++) { 
     if (j > 3 ) break ; 

     // Quit the innermost loop 
     if (i == 2) break innerloop; 

     // Do the same thing 
     if (i == 4) break outerloop; 

     // Quit the outer loop 
     print("Innerloop: ${j}"); 
   } 
 } 
}
void main(){
outerloop://这是标签名称
对于(var i=0;i<5;i++){
打印(“内部循环:${i}”);
内循环:
对于(var j=0;j<5;j++){
如果(j>3)断裂;
//退出最里面的循环
如果(i==2)中断内部循环;
//做同样的事
如果(i==4)断开外部环路;
//退出外部循环
打印(“内部循环:${j}”);
} 
} 
}

我不认为,你可以停止
foreach

用于:

var id = [1, 2, 3, 4, 5];

  for (int i in id) {
    if(i == 2)
      break;

    print('$i');
  }
不能用省道打断forEach的

您可以使用
for
indexOf

  for (var number in id) {
    var index = id.indexOf(number);

    print('Origin forEach loop');

    for (int i = 0; i < 1; i++) {
      print("for loop");
    }

    break;
  }
for(id中的变量编号){
var指数=id.indexOf(编号);
打印(“每个循环的原点”);
对于(int i=0;i<1;i++){
打印(“用于循环”);
}
打破
}

设置一个布尔值来跟踪何时运行foreach主体,何时不运行,而不是中断

void main() {
      var id = [1, 2, 3, 4, 5];
      bool forEachDone=false;

      id.asMap().forEach((index, number) {
        //forEachDone=false;
        print('ForEach loop');
       if(!forEachDone){
        for (int i = 0; i < 1; i++,forEachDone=true) {
          print("for loop");
        }

       }
      });
    }
void main(){
变量id=[1,2,3,4,5];
bool-forEachDone=false;
id.asMap().forEach((索引,编号){
//forEachDone=假;
打印(“ForEach循环”);
如果(!forEachDone){
for(int i=0;i<1;i++,forEachDone=true){
打印(“用于循环”);
}
}
});
}

根据您的情况,我认为这应该可行

for(int i = 0; i < id.asMap().length; i++){
  if(id.asMap()[i] == 4) //your condition
  {
     break;
  }
  // your for loop
}
for(int i=0;i
您不能改为使用。Dart不会允许的。这能回答你的问题吗?不,这对meI不起作用。我想中断forEach循环而不是for循环。@Gagansilor,用于您想使用的用例。。。基本上做同样的事情。。。idk关于性能这不会中断ForEach循环。您不能中断,但可以停止执行。有没有办法绕过ForEach循环??