Avatar ·

C#: break vs continue — was ist der Unterschied in Schleifen?

Hallo zusammen. Ich habe gerade angefangen, C# zu lernen, und bin bei den Anweisungen break und continue in Schleifen (for, while, foreach) verwirrt. Ich verstehe, dass beide die Ausführung der Schleife irgendwie beeinflussen, aber ich kann den genauen Unterschied nicht erfassen.\n\nZum Beispiel habe ich diesen Code:\n\n```csharp\nfor (int i = 0; i < 10; i++)\n{\n if (i == 5)\n {\n break;\n }\n Console.WriteLine(i);\n}\n```\n\nIch erwartete, dass er die Zahlen von 0 bis 9 ausgibt, aber er hat nur 0, 1, 2, 3, 4 ausgegeben. Warum? Ich dachte, break überspringt einfach die Iteration, wenn i == 5 ist.\n\nUnd noch ein Beispiel mit continue:\n\n```csharp\nfor (int i = 0; i < 10; i++)\n{\n if (i == 5)\n {\n continue;\n }\n Console.WriteLine(i);\n}\n```\n\nDieser Code hat alle Zahlen von 0 bis 9 ausgegeben, außer 5. Das heißt, continue überspringt tatsächlich die Iteration? Aber warum verhält sich break dann anders?\n\nErklärt mir bitte in einfachen Worten: Was ist der grundlegende Unterschied zwischen break und continue? Wann verwendet man welche Anweisung? Und gibt es irgendwelche Fallstricke?