Lädt...

switch

int choice = 2; speichert die ganze Zahl 2. Dann vergleicht switch (choice) diese Zahl mit festen Labels. Wenn choice 2 ist, läuft case 2 und Console.WriteLine("mid") schreibt mid. Der Bildschirm hat eine Zeile. Behalte den öffentlichen Klassennamen Pine.

Ein Wert, mehrere feste Labels

Öffne die Pine-Datei. Der Klassenname bleibt Pine. Diese Seite benennt den Typ nicht um. Lösche bool ready, falls die Zeile noch da ist, einschließlich if (ready), pass, wait und jedes else-Blocks von der vorigen Seite. Lösche bool both, falls noch vorhanden. Lösche jede ReadLine-Zeile. Die Datei, die du behältst, wartet nicht auf Tippen, hat kein ready und keine if / else-Gabelung. Den Bildschirm schreibt nur eine Schreibzeile unter dem passenden case oder unter default.

In Main speichere vor dem switch eine ganze Zahl: int choice = 2;. int ist das Typwort. choice ist der Name und beginnt mit kleinem c. Um 2 stehen keine Anführungszeichen. Das Semikolon beendet die Speicherzeile. Diese Zeile schreibt den Bildschirm nicht. Danach kommt der switch selbst:
switch (choice) {
case 1:
Console.WriteLine("low");
break;
case 2:
Console.WriteLine("mid");
break;
case 3:
Console.WriteLine("high");
break;
default:
Console.WriteLine("none");
break;
}
Das Wort switch ist kleingeschrieben. In den runden Klammern sitzt der Name choice — der Wert, den C# mit jedem case-Label vergleicht. Jede case-Zeile endet mit einem Doppelpunkt, nicht mit einem Semikolon. Unter case 2 sitzt Console.WriteLine("mid");, dann das Wort break und ein Semikolon. Wenn choice den Wert 2 hält, betritt C# case 2, schreibt mid, trifft break und verlässt den ganzen switch. case 3 und default laufen in diesem Durchgang nicht. Speichere die Datei.

Die Datei, die du behältst

Behalte diese Unterrichtsform. Ein Typwort, int. Ein Name, choice, gespeichert als 2. Ein switch mit runden Klammern um choice. Cases 1, 2 und 3, jeweils mit einer Schreibzeile und einem break. Ein default, das none schreibt. Es gibt keine ready-Zeile, kein if und kein bares Schreiben der Ziffer 2 außerhalb der cases.

choice is 2

csharp
using System;

public class Pine
{
    public static void Main()
    {
        int choice = 2;
        switch (choice)
        {
            case 1:
                Console.WriteLine("low");
                break;
            case 2:
                Console.WriteLine("mid");
                break;
            case 3:
                Console.WriteLine("high");
                break;
            default:
                Console.WriteLine("none");
                break;
        }
    }
}

Lies von oben. using System; bereitet kurze Namen vor. public class Pine benennt den Typ. public static void Main() ist der Start der Laufzeit. int choice = 2; speichert 2. Es schreibt nichts. switch (choice) beginnt den Vergleich. case 2 passt, also läuft Console.WriteLine("mid");, dann verlässt break; den switch. Eine Zeile auf dem Bildschirm: mid. Keine Anführungszeichen auf dem Bildschirm. Keine zweite Zeile. In der Datei, die du behältst, gibt es keine bool ready-Zeile.

Starte mit dotnet run. Das Programm schreibt mid. Es wartet nicht darauf, dass du tippst. Die gespeicherte Zahl und der switch standen schon in der Datei. Wartet dotnet run, ist ReadLine noch in der Datei. Lösche diese Zeile und behalte int choice = 2; sowie den switch oben. Das Programm endet nach der gewählten Schreibzeile. Der Bildschirm zeigt mid. Eine Zeile. Zeigt der Bildschirm 2, schreibst du noch die Zahl selbst. Zeigt der Bildschirm pass oder wait, steckt die if / else-Datei noch. Lösche die ready-Gabelung. Zeigt der Bildschirm none, hält choice einen Wert, der zu keinem case passt — das ist die zweite Datei auf dieser Seite, nicht die Datei, die du behältst. Zeigt der Bildschirm switch (choice) als Buchstaben, hat eine Schreibzeile Anführungszeichen um diese Zeichen. Installiere das .NET SDK nicht neu wegen einer falschen Bildschirmzeile.

Warum mid und nicht low oder high? Weil der Wert in den Klammern 2 war und case 2 das Label ist, das passt. C# schreibt in diesem Lauf nicht die Ziffer 2, es sei denn, du schreibst eine Schreibzeile für diese Ziffer. Es schreibt die Schreibzeile, die unter dem passenden case läuft. Die Klammern halten den Wert, der verglichen wird. Jedes case-Label ist hier eine feste ganze Zahl. break beendet den switch, damit spätere cases still bleiben. default wartet auf Werte, die zu keinem case passen — es bleibt ungenutzt, solange choice 2 ist.

Wenn kein case passt

Ändere nur den gespeicherten Wert: int choice = 9;. Lass die switch-Struktur unverändert. Jetzt passt weder case 1 noch case 2 noch case 3. C# geht zu default und führt Console.WriteLine("none"); aus. Der Bildschirm soll none zeigen, eine Zeile.

choice is 9

csharp
using System;

public class Pine
{
    public static void Main()
    {
        int choice = 9;
        switch (choice)
        {
            case 1:
                Console.WriteLine("low");
                break;
            case 2:
                Console.WriteLine("mid");
                break;
            case 3:
                Console.WriteLine("high");
                break;
            default:
                Console.WriteLine("none");
                break;
        }
    }
}

Das ist die zweite Datei. Nicht die, die du behältst. Starte dotnet run. Der Bildschirm zeigt none. Eine Zeile. Er zeigt nicht mid. Er zeigt nicht 9, es sei denn, du schreibst diese Ziffer absichtlich. Zeigt der Bildschirm mid, bist du noch auf der Datei, die du behältst, wo choice 2 ist. Nachdem du none gesehen hast, setze die behaltene Datei zurück: int choice = 2; und denselben switch, der auf case 2 den Wert mid schreibt. Beide Versionen sind gültiges C#. Sie lehren dieselbe switch-Form mit passendem case und mit default.

Lies den default-Lauf noch einmal der Reihe nach. choice hält 9. switch (choice) beginnt. case 1 passt nicht. case 2 passt nicht. case 3 passt nicht. Die Kontrolle geht weiter bei default. Console.WriteLine("none"); wird ausgeführt. Eine Zeile auf dem Bildschirm. Die Ziffer 9 selbst erscheint nicht, es sei denn, du schreibst sie absichtlich.

break stoppt spätere cases

break ist keine Dekoration. Ohne es kann C# nach einem Treffer die Zeilen des nächsten case weiter ausführen. Dieser Fall-through überrascht Anfänger. Hier ist ein kurzes Demo, das absichtlich nach case 2 das break vergisst — es ist nicht die Datei, die du behältst:

missing break after case 2

csharp
using System;

public class Pine
{
    public static void Main()
    {
        int choice = 2;
        switch (choice)
        {
            case 1:
                Console.WriteLine("low");
                break;
            case 2:
                Console.WriteLine("mid");
            case 3:
                Console.WriteLine("high");
                break;
            default:
                Console.WriteLine("none");
                break;
        }
    }
}

Mit choice gleich 2 und ohne break unter case 2 kann der Bildschirm in einer Zeile mid und in der nächsten high zeigen. case 2 passte, schrieb mid, fiel dann in case 3 und schrieb high. Die Datei, die du behältst, setzt unter jeden case ein break, damit jeder Pfad genau eine Zeile schreibt. Setze break zurück, bevor du die Pine-Datei wieder als behaltene Lektionsdatei behandelst.

Regeln, die die Labels klar halten

Runde Klammern um den switch-Wert sind Pflicht. Schreibst du switch choice { … } ohne Klammern, schreibt der build einen Fehler. Jedes case-Label auf dieser Seite ist eine ganze Zahl als Konstante: case 1:, case 2:, case 3:. Nach dem Label folgt ein Doppelpunkt. Schreibst du case 2; mit Semikolon statt Doppelpunkt, ist das nicht die Form, die diese Lektion baut. default hat danach keinen Wert — nur default: und dann die Zeilen für „nichts gepasst“.

switch ist nicht dasselbe Werkzeug wie if. if (ready) stellt eine true-oder-false-Frage. switch (choice) vergleicht einen Wert mit einer Liste fester Labels. Schreibe nicht switch (ready) mit einem bool und erwarte dieselbe Lektionsform wie auf der vorigen Seite. Halte die Demos dieser Seite bei einem int namens choice und ganzen Zahlen als case-Labels. Vergleiche wie if (score > 10) gehören weiterhin zu if, wenn du einen Bereich brauchst; switch glänzt, wenn die Werte einzeln und im Voraus bekannt sind.

Ein häufiger Fehler ist, die Syntax selbst zu schreiben: Console.WriteLine("switch (choice)");. Das schreibt die Zeichen switch (choice). Es wählt keinen case. Ein anderer Fehler ist, ein if / else-Demo im selben Main zu lassen und sich zu wundern, warum der Bildschirm pass statt mid zeigt. Das Main dieser Sitzung soll nur das int und den switch halten.

📊 choice and the screen

choice Screen
1 low
2 mid
3 high
9 none

Nutze die Tabelle als Prüfung nach einem Lauf, nicht statt eines Laufs. choice 2 mit der Datei, die du behältst, schreibt mid. choice 9 mit der zweiten Datei schreibt none. choice 1 schreibt low. choice 3 schreibt high. Erscheinen für choice 2 sowohl mid als auch high, fehlt unter case 2 ein break — korrigiere die breaks, statt das .NET SDK neu zu installieren.

Du kannst jetzt eine ganze Zahl speichern, sie in switch (…) setzen und jedem festen Wert ein eigenes case mit Schreibzeile und break geben. Wenn ein case passt, läuft diese Zeile; wenn nichts passt, läuft default. Die nächste Seite ist for, wo derselbe Block von Zeilen wieder und wieder laufen kann, während ein Zähler sich ändert.

Der Bildschirm ist der passende case

Die Datei, die du behältst, schreibt mid. Der Name choice steht in den Klammern, und choice steht nicht auf dem Bildschirm. Die Ziffer 2 steht in der Speicherzeile, und 2 steht nicht auf dem Bildschirm. Die anderen cases stehen in der Datei und laufen beim behaltenen Lauf nicht. Anführungszeichen um switch (choice) schreiben Buchstaben, keinen passenden case.

🧠 Testen Sie Ihr Wissen

Bereit zum Start

Testen Sie Ihr Wissen

Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen

❓
6
Fragen
🎯
70%
Zum Bestehen
♾️
∞
Zeit
🔄
∞
Versuche

📝 Anweisungen

  • Lesen Sie jede Frage sorgfältig
  • Wählen Sie die beste Antwort für jede Frage
  • Sie können das Quiz so oft wiederholen, wie Sie möchten
  • Ihr Fortschritt wird oben angezeigt