Discards: Addio variabili dummy, fake, temp …
Il concetto delle variabili discards è stato introdotto con la versione 7.0 di C#. Di cosa si tratta? Una variabile di tipo discard è una variabile che non serve nel nostro codice e la vogliamo buttare via. Quante volte avete riempito il vostro codice in passato di variabili come:
var pippo
var fake
var dummy
var temp
o simili? Io parecchie volte, ma ora il problema è risolto! Vi anticipo, questo HowTo sarà molto breve con pochissimi esempi rispetto alle potenzialità offerte. Sappiate che se usate bene il vostro codice sarà molto più leggibile e pulito.
Discards: come utilizzarle?
Per utilizzare una variabile discard bisogna dichiararla senza dichiararla! Si, avete letto benissimo e per farlo basta semplicemente mettere il simbolo “_” (senza le virgolette) ed il gioco è fatto. Vediamo subito un esempio (il primo caso nelle quali le ho utilizzate di recente) per rendere il tutto più semplice. Discard Mode OFF
|
|
Discard Mode ON
|
|
Ora, come potete vedere nelle due righe della modalità “Discard Mode ON” è stato semplice capire due cose:
E’ un valore intero? Si? No? Però il valore in out non mi serve …
Sono certo che sia int, quindi il valore bool è del tutto inutile. Mi prendo direttamente il valore prodotto in out
Discards & Tuple
L’uso delle variabili discards non si limita semplicemente a quanto appena visto. Possiamo usarlo anche in altri contesti come ad esempio le tuple. L’utilizzo è semplice e praticamente identico come concetto. Ora vi mostrerò come utilizzarlo in pratica. Per farlo ho scritto una function che data in ingresso un DateTime e torna (in una tupla) i sei elementi chiave: Year, Month, Day, Hour, Minute, Second. Di questi elementi a me (nell’esempio) interessa solamente il Month. Quindi -la vera domanda è- perchè dichiarare tutte le altre cinque variabili? Function & Tuple
|
|
Discard & Tuple
|
|
Come potete vedere l’utilizzo (se fatto bene) consente di potere riciclare molto il codice senza dovere necessariamente dichiarare un sacco di variabili da “ignorare” subito dopo.