2010-11-20 7 views
0

en php:php continuer X - équivalent en C#

continue accepte un argument numérique optionnel qui vous indiquera combien de niveaux de structures emboîtées passer à la fin.

comme

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; 
      } 
     } 
    } 
} 

Ce qui est équivalent en C#?

un moyen simple de faire cela?

Répondre

3

Si vous avez vraiment vraiment envie de le faire, vous pouvez utiliser des déclarations GOTO:

 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

Un goto peut être utilisé pour sortir des boucles profondément imbriquées. Un C# équivalent pour votre code PHP pourrait être:

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!");