2009-09-10 12 views
9

Dla dobra argumentów, jak mogę to zrobić w VB?Czy istnieje odpowiednik VB dla instrukcji C# 'continue' i 'break'?

foreach foo in bar 
{ 
    if (foo == null) 
     break; 

    if (foo = "sample") 
     continue; 

    // More code 
    //... 
} 
+0

Exit Do, wybierz opcję Exit itp, i zawsze można sfałszować break; instrukcja za pomocą instrukcji GoTo i etykiety linii. Wiele osób z dezaprobatą odnosi się do stwierdzeń GoTo. i odkryłem, że ilekroć z nich korzystam, zawsze znikają w przepisywaniu. –

+0

Na odwrót, w C#: * [pętla C# - break vs continue] (https://stackoverflow.com/questions/6414/c-sharp-loop-break-vs-continue/6417#6417) * –

Odpowiedz

15

- Edycja:

Zmieniłeś swoje pytanie odkąd odpowiedział, ale zostawię moją odpowiedź tutaj; Podejrzewam, że programista VB.NET pokaże ci jak zaimplementować taką pętlę. Nie chcę ranić moich biednych C# kompilatory uczucia starając ...

- Stare odpowiedź:

Wierzę, że istnieje

Continue While 
Continue For 

i

Exit While 
Exit For 
+0

Twoja odpowiedź wydaje się działać. Wydaje się, że Exit For dotyczy VB's For Each. Gdy zweryfikuję, zaznaczę twoją odpowiedź. –

+0

@Blinky - stare teraz, ale Exit For zdecydowanie nadal działa w vb.net –

2

I myślałem, że przykład VB.NET może pomóc w przyszłości:

Sub breakTest() 
    For i = 0 To 10 
     If (i = 5) Then 
      Exit For 
     End If 
     Console.WriteLine(i) 
    Next 
    For i = 0 To 10 
     If (i = 5) Then 
      Continue For 
     End If 
     Console.WriteLine(i) 
    Next 
End Sub 

Wyjście do przerwy:

0 
1 
2 
3 
4 

I dalej:

0 
1 
2 
3 
4 
6 
7 
8 
9 
10 
Powiązane problemy