A volte capita di dover eseguire uno switch basato non su un singolo dato, ma su più dati. In questi casi, possiamo creare una tupla con questi dati e poi usare lo switch basato sulla tupla.
public string RockPaperScissors(string game1, string game2) => (game1, game2) switch { ("sasso", "carta") => "Carta vince", ("sasso", "forbice") => "Sasso vince", ("carta", "sasso") => "Carta vince", ("carta", "forbice") => "Forbice vince", ("forbice", "sasso") => "Sasso vince", ("forbice", "carta") => "Forbice vince", (_, _) => "Pareggio" };
In questo esempio, le mosse vengono messe in una tupla e nello switch si crea una tupla per ogni combinazione. C# è in grado di confrontare le tuple in base ai valori dei campi e quindi può effettuare il confronto tra tuple e tornare il risultato corretto.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.