Tuple in C#
16-01-2023
Riassunto nell'uso delle tuple
CSHARP
16-01-2023
Riassunto nell'uso delle tuple
using System;
namespace S
{
class Program
{
public static (int, int, int) Semaforo(string azione) {
return azione switch {
"verde" => (0,0,1),
"rosso" => (1,0,0),
"giallo" => (0,1,0),
_ => (-1,-1,-1)
};
}
static void Main(string[] args)
{
// Tupla unnamed - i valori sono definiti come Item.. e non hanno nomi
var s = (1,0,0,"rosso");
Console.WriteLine($"{s.Item1},{s.Item2},{s.Item3},{s.Item4}");
// 1,0,0,rosso
// Tupla named
var semaforo = (luce1: 0, luce2: 0, luce3: 1, azione: "verde");
Console.WriteLine($"{semaforo.azione}:{semaforo.luce3}");
// verde:1
// Ritorno di tupla
var rit = Semaforo("giallo");
Console.WriteLine($"giallo:{rit.Item1},{rit.Item2},{rit.Item3}");
// giallo:0,1,0
// Ritorno nominato
(int rosso, int giallo, int verde) = Semaforo("rosso");
Console.WriteLine($"rosso:{rosso},{giallo},{verde}");
// rosso:1,0,0
}
}
}