Een switch is een handige tool wanneer je verschillende opties heb bij het uitvoeren van een stuk code. Een voorbeeld dat vaak gebruikt wordt is de state van een object managen of voor het gebruik van animaties. je switch dus gemakkelijke tussen verschillende stukken code.

//voorbeeld

int **expression** = 0;

switch (**expression**)
{
    case 0:
        //code block
        break;

    case 1:
        //code block
        break;

    case 2:
        //code block
        break;

    case 3:
        //code block
        break;

    default:
        //code block
        break;
}

Combinatie met enum

Een Enum en een Switch hebben een hele prettige synergie. Hierdoor gaat de leesbaarheid omhoog en de foutgevoeligheid omlaag! Hier volgt een voorbeeld:

AnimeCharacter animChars = AnimeCharacter.Kenshiro;

switch (animChars)
{  
    case AnimeCharacter.Goku:
        print("Kamehameha!");
        break;
    
    case AnimeCharacter.Ichigo:
        print("Getsuga Tenshou!");
        break;
    
    case AnimeCharacter.SpikeSpiegel:
        print("They Say Hunger is the Best Spice.");
        break;

    case AnimeCharacter.Kakashi:
        print("Kamui!");
        break;
    
    case AnimeCharacter.Kenshiro:
        print("Omae Wa Mou Shindeiru");
        break;
    
    case AnimeCharacter.Luffy:
        print("Gomu Gomu no Gatling");
        break;
}

De case check is nu de enum die een variable check van dit type enum. Hierdoor staat er dus geen nummer meer maar een leesbaar woord en in de context hoeft je nu dus niet te onthouden welke state wat is.


Reference:

https://www.w3schools.com/cs/cs_switch.php

https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/statements/selection-statements#the-switch-statement