Lezers zoals jij steunen MUO. Wanneer u een aankoop doet via links op onze site, kunnen we een aangesloten commissie verdienen.
In een applicatie is het gebruikelijk dat bepaalde gebeurtenissen alleen plaatsvinden op basis van bepaalde voorwaarden. U kunt verschillende typen voorwaardelijke instructies gebruiken om deze gebeurtenissen af te handelen. Dit omvat if-statements, if-else-statements, switch-statements en meer.
Switch-instructies kunnen een schone manier zijn om een reeks voorwaarden te ordenen. Dit is met name het geval als u geen reeks van meerdere if-statements wilt gebruiken, of als u de waarde van een bepaalde variabele vergelijkt.
U kunt switch-instructies maken in veel programmeertalen, waaronder C#.
Verschillende casussen toevoegen aan de Switch-verklaring
De meeste talen, waaronder Python, C en JavaScript, gebruik verschillende voorwaardelijke verklaringen. Het is belangrijk om te begrijpen hoe elke verklaring werkt en wanneer deze het meest geschikt is om te gebruiken.
Switch-statements bevatten verschillende "cases". De switch-instructie selecteert een specifieke waarde, die vervolgens wordt vergeleken met specifieke gevallen. Hiermee kunt u bepalen welk stuk code het programma moet uitvoeren.
In C# kunt u oefenen met het schrijven van een switch-statement in een eenvoudige C#-consoletoepassing.
- Maak een nieuwe C#-consoletoepassing. Open Visual Studio en selecteer Maak een nieuw project aan.
- Kiezen Console applicatieen klik op Volgende.
- Geef uw project een naam en kies waar u het wilt opslaan. Klik op Volgende.
- Houd het standaard doelkader aan en klik Creëren. Uw C#-toepassing opent een standaard Hello World-programma.
- Vervang de huidige "Hello World"-afdrukinstructie in de functie Main(). Vraag de gebruiker in plaats daarvan te kiezen uit een lijst met opties. Vraag de gebruiker om zijn keuze in de consoletoepassing in te voeren:
// Toon een lijst met opties voor de gebruiker
Troosten. Schrijf lijn("Kies een optie:");
Troosten. Schrijf lijn("1. Fruit");
Troosten. Schrijf lijn("2. Hoofdgerechten");
Troosten. Schrijf lijn("3. Nagerechten");
Troosten. Schrijf lijn("");// Vraag gebruikersinvoer
Troosten. Schrijven(">>");
stringmaaltijden = Console. ReadLine().ToLower(); - Voeg een switch-instructie toe om een ander bericht voor de gebruiker af te drukken, afhankelijk van wat ze in de console typen. Voer de input van de gebruiker (de variabele maaltijden) in de switch-instructie in.
schakelaar (maaltijden)
{
// Case-opties en voorwaardelijke code komen hier binnen
} - Voeg binnen de switch-instructie cases toe voor elk van de mogelijke opties die de gebruiker kan selecteren. Voeg voor elke optie verschillende afdrukoverzichten toe. Als de invoer van de gebruiker overeenkomt met een casus, wordt de specifieke code voor die casus uitgevoerd. Het sleutelwoord break dwingt het programma om de switch-instructie te verlaten en de code die daarbuiten volgt uit te voeren.
schakelaar (maaltijden)
{
// Voeg verschillende cases toe en print verklaringen, afhankelijk van de input van de gebruiker
geval "fruit":
Troosten. Schrijf lijn("Fruit omvat appels, sinaasappels en bananen.");
pauze;geval "netspanning":
Troosten. Schrijf lijn("Hoofdgerechten zijn biefstuk, zalm of risotto.");
pauze;geval "nagerechten":
Troosten. Schrijf lijn("Desserts zijn chocoladetaart, appeltaart of ijs.");
pauze;
} - Klik op de groene afspeelknop bovenaan het Visual Studio-venster om het programma uit te voeren.
- Voer het woord "Fruit", "Hoofdgerechten" of "Desserts" in. De afgedrukte verklaring zal verschillen, afhankelijk van de tekenreeks die u invoert in de console-app.
Schakel verklaringen met behulp van cijfers
In plaats van dat de gebruiker een tekenreeks zoals "Fruit" invoert, kan hij in plaats daarvan ook het overeenkomstige cijfer invoeren, zoals "1". Om dit te laten werken, kunt u getallen gebruiken als opties voor uw switch-instructie.
- Controleer vóór de switch-instructie of de invoer van de gebruiker een getal is. Dit komt omdat zelfs als de gebruiker een nummer in de console invoert, het programma het nog steeds als een string zal opslaan. Als u dit niet valideert, krijgt u mogelijk een compilatiefout of een uitzondering wanneer u de toepassing uitvoert. U zult dan moeten debug dit met behulp van Visual Studio.
int resultaat = 1;
poging
{
// Poging om de invoer van de gebruiker om te zetten in een getal
resultaat = Int32.Parse (maaltijden);
}
vangst (FormatException)
{
// Als de invoer van de gebruiker ongeldig is, geeft u een waarschuwing weer en sluit u de toepassing af
Troosten. Schrijfregel($"'{maaltijden}' is een ongeldig formaat. Voer alstublieft een nummer in.");
Systeem.Omgeving.Uitgang(1);
} - Vervang de huidige switch-instructie. Gebruik getallen in plaats van tekenreeksen voor de case-opties. Als de gebruiker in dit geval "1" typt, voert het programma de code uit vanaf het eerste geval.
schakelaar (resultaat)
{
// Gebruik getallen als opties voor de verschillende gevallen
geval1:
Troosten. Schrijf lijn("U hebt optie 1 (Fruit) geselecteerd, waaronder appels, sinaasappels en bananen.");
pauze;geval2:
Troosten. Schrijf lijn("U hebt optie 2 (Hoofdgerechten) geselecteerd, waaronder biefstuk, zalm of risotto.");
pauze;geval3:
Troosten. Schrijf lijn("Je hebt gekozen voor optie 3 (Desserts), waaronder chocoladetaart, appeltaart of ijs.");
pauze;
} - Klik op de groene afspeelknop bovenaan het Visual Studio-venster om het programma uit te voeren.
- Voer in de console-app een nummer in dat overeenkomt met een van de opties, zoals "1", "2" of "3". De uitvoer zal verschillen, afhankelijk van het nummer dat u in de console invoert.
Een standaardcasus toevoegen aan de switchverklaring
De gebruiker kan ook een nummer invoeren dat geen deel uitmaakt van de beschikbare lijst met opties, zoals "4". Als dit gebeurt, wordt de switch-instructie nog steeds tegen die waarde uitgevoerd. Omdat het echter met geen van de gevallen overeenkomt, wordt geen van de code uitgevoerd. U kunt een standaardgeval toevoegen voor elke andere optie die zich zou kunnen voordoen.
- Vervang de switch-instructie door een nieuwe die onderaan een standaardhoofdlettergebruik bevat:
schakelaar (resultaat)
{
geval1:
Troosten. Schrijf lijn("U hebt optie 1 (Fruit) geselecteerd, waaronder appels, sinaasappels en bananen.");
pauze;geval2:
Troosten. Schrijf lijn("U hebt optie 2 (Hoofdgerechten) geselecteerd, waaronder biefstuk, zalm of risotto.");
pauze;geval3:
Troosten. Schrijf lijn("Je hebt gekozen voor optie 3 (Desserts), waaronder chocoladetaart, appeltaart of ijs.");
pauze;// Extra standaard hoofdlettergebruik om andere ongeldige opties op te vangen
standaard:
Troosten. Schrijf lijn("Het door u ingevoerde nummer maakt geen deel uit van de beschikbare opties.");
pauze;
} - Klik op de groene afspeelknop bovenaan het Visual Studio-venster om het programma uit te voeren.
- Voer in de console-app een getal in dat buiten het bereik van opties valt, zoals "4", om de uitvoer van de standaardcasus te ontvangen.
Schakelverklaringen gebruiken in uw toepassing
U kunt de instructie switch in C# gebruiken om code te organiseren die alleen onder bepaalde voorwaarden kan worden uitgevoerd. Het gebruik van switch is vaak een schoner en betrouwbaarder alternatief voor een reeks if-statements.
Andere programmeerconcepten waar u naar kunt kijken, zijn klassen of structuren. Dit zijn ook belangrijke programmeerconcepten die u kunt gebruiken om uw code overzichtelijk te houden.