20 messaggi dal 06 settembre 2014
Il type inference, ovvero il "var" serve soltanto a far riconoscere da solo al programma se deve andare a sostituire "int", "string",ecc?
Modificato da cricchi il 11 settembre 2014 20.42 -
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,

cricchi ha scritto:

far riconoscere da solo al programma

Non propriamente al programma, perché var è una parola chiave del linguaggio C# che viene elaborata dal compilatore.
Mentre il tuo codice sorgente viene compilato, il compilatore assegna alla variabile lo stesso tipo del valore restituito dall'espressione che si trova dall'altra parte dell'uguale.
Infatti, se vai ad ispezionare il codice compilato usando uno strumento tipo JustDecompile, vedrai che non esiste più traccia della parola chiave var.

Di conseguenza, non hai nessuna penalità a livello di prestazioni se usi var anziché esplicitare il tipo. E' solo una convenienza per te, che così puoi rendere alcune righe di codice più snelle.

Tieni presente che in certi casi dovresti comunque indicare il tipo, così che il tuo codice resterà leggibile. Prendi questo esempio:
//Di che tipo sarà "risultato"??? E' impossibile stabilirlo leggendo solo questa riga
var risultato = MetodoCheRestituisceChissàCosa();

Specie se lavori in un team, il tuo intento sarà più chiaro ai tuoi colleghi sviluppatori se indichi esplicitamente il tipo della variabile.
//ora è chiaro che il metodo restituisce una lista di clienti
IEnumerable<Cliente> risultato = MetodoCheRestituisceChissàCosa();


ciao,
Moreno
Modificato da BrightSoul il 15 settembre 2014 13.51 -

Enjoy learning and just keep making
20 messaggi dal 06 settembre 2014
Perfetto, grazie mille :)

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.