Ich habe den Code unten (der eigentlich viel länger ist als du siehst!)
%Vor% Wird der continue
keywoard angezeigt, weil die foreach-Schleife mit dem nächsten Element beginnt oder die nächste case
-Anweisung gerade passiert?
Wenn es nichts mit der foreach-Schleife zu tun hat, wie kann ich den Code zwingen, den Schalter zu verlassen und die nächste Iteration in der foreach-Schleife zu starten?
Ja, es setzt die foreach
Schleife fort.
Es ist immer nützlich, die Dokumentation zu lesen ; -)
Die continue-Anweisung übergibt die Steuerung an die nächste Iteration von Einschließen while, do, for oder foreach Anweisung, in der es erscheint.
oder - umfassender - die C # -Sprachspezifikation :
8.9.2 Die continue-Anweisung
Die continue-Anweisung startet eine neue Iteration des nächsten umschließenden Objekts while, do, for oder forheach .
Das Ziel einer continue-Anweisung ist der Endpunkt des eingebetteten Aussage des nächsten Einschließens while, do, for oder forehach Erklärung. Wenn eine Continue-Anweisung nicht von einer Weile eingeschlossen ist, Für oder foreach-Anweisung tritt ein Fehler bei der Kompilierung auf.
Wenn mehrere While-, Do-, For- oder Foreach-Anweisungen verschachtelt sind ein continue statement gilt nur für das innerste Aussage . Um die Kontrolle über mehrere Verschachtelungsebenen zu übertragen, gibt es ein Goto Aussage (§8.9.3) muss verwendet werden.
Eine continue-Anweisung kann einen finally-Block nicht beenden (§8.10). Wenn ein continue statement tritt innerhalb eines finally blocks auf, dem Ziel des continue-Anweisung muss innerhalb des gleichen finally-Blocks sein; sonst a Kompilierungsfehler tritt auf.
Eine continue-Anweisung wird wie folgt ausgeführt:
Wenn die continue-Anweisung einen oder mehrere try-Blöcke mit beendet zugeordnet schließlich blockiert, wird die Steuerung zunächst an die übertragen endlich Block der innersten try-Anweisung. Wann und wenn Kontrolle erreicht den Endpunkt eines finally-Blocks, an den die Steuerung übergeben wird der finally-Block der nächsten umschließenden try-Anweisung. Dieser Prozess ist wiederholt bis zum letzten Block aller dazwischenliegenden try-Anweisungen wurden ausgeführt.
Die Kontrolle wird auf das Ziel des Fortfahrens übertragen Aussage.
Weil eine continue-Anweisung bedingungslos die Kontrolle übergibt An anderer Stelle ist der Endpunkt einer Continue-Anweisung niemals erreichbar.
Tags und Links c# loops switch-statement foreach continue