2010-11-20 10 views
0

in php:php weiter X - das entspricht in C#

weiterhin ein optionales numerisches Argument akzeptiert, die es sagt, wie viele Ebenen der umschließenden Schlaufen es bis zum Ende überspringen sollte.

wie

for ($i = 1; $i <= $countArray - 2; $i++) { 
    for ($j = $i+1; $j <= $countArray - 1; $j++) {   
    for ($k = $j+1; $k <= $countArray; $k++) { 
      if(condition){ 
      # found 
      continue 3; 
      } 
     } 
    } 
} 

Was in C# entspricht?

eine einfache Möglichkeit, dies zu tun?

Antwort

3

Wenn Sie wirklich wirklich tun wollen, könnte man goto-Anweisungen verwenden:

 for (int i = 0; i < 10; i++) 
     { 
      Level1: 

      for (int j = 0; j < 10; j++) 
      { 

      Level2: 

       for (int k = 0; k < 10; k++) 
       { 
        if (k < 5) 
        { 
         goto Level1; 
        } 

        if (k == 7) 
        { 
         goto Level2; 
        } 
       } 
      } 
     } 
1

Ein Goto kann verwendet werden, um tief verschachtelte Schleifen zu verlassen. Ein C# -Äquivalent für Ihren PHP-Code könnte sein:

for (int i = 1; i <= countArray - 2; i++) { 
    for (int j = i+1; j <= countArray - 1; j++) {   
    for (int k = j+1; k <= countArray; k++) { 
     if(condition){ 
     // found 
     goto Found; 
     } 
    } 
    } 
} 

Found: 
    Console.WriteLine("Found!");