2017-04-06 4 views
-1

C#では、2つのネストされたループがあります(各ループはwhileループまたはforループのいずれかです)。内側のループの途中で 、私は条件が真であるとき、両方のループから抜け出すしたい、内側のループの中央から2つのネストされたループを外します。

loop1 
{ 
    ... 
    loop2 
    { 
     ... 
     (I want to break out of both loops, when some condition is true) 
     ... 
    } 
    ... 
} 

loop1 
{ 
    ... 
    loop2 
    { 
     ... 
     if (condition) 
      break 
     ... 
    } 
    if (condition) 
     break 
    ... 
} 

おかげでよりエレガントな方法はあります。

+1

あなたはリターンが実行されないそれらを作るだろう呼び出し、あなたのループブロックの後に多くのコードを持っていた場合、私はそれらを入れたい理由、それはだから、私は、これらのループで関数を作成し、 'return'を使用したいです別の機能 – Alisson

+0

これは 'goto'文を使うことが許されていることが一般的に認められていることのほんの数回のうちの1つです。問題を解決する他の方法がありますが、 – Jonesopolis

+0

@ジョーンズポリス私はこれが正確な複製であるかどうかわかりません。 'goto'は問題ありませんが、関数にラップして返すこともできます。それは私がすることです。もう一つの質問の正確な複製ではありません。 –

答えて

1

方法およびreturnに入れてください。

public void TheLoops() 
{ 
    while(true) { 
     while(true) { 
      if (condition) { 
       return; 
       // or change void to a type and 
       // return conditionResult; 
      } 
     } 
    } 
} 
関連する問題