Originariamente inviato da alka
Si tratta di una differenza sottilissima: entrambe le parole chiave indicano che la
variabile passata per riferimento mantiene le modifiche all'uscita dalla funzione; tuttavia, la parola chiave
var rappresenta un parametro che deve essere passato dall'esterno e il cui valore deve essere inizializzato in quanto la funzione ne fa uso e, all'occorrenza, può modificarlo, mentre la parola chiave
out si riferisce ad una variabile che, passata come parametro, viene necessariamente impostata dalla funzione, e pertanto non necessita di una inizializzazione prima della chiamata. In sostanza,
out garantisce alla routine chiamante che la funzione inizializza o imposta in qualche modo la variabile.
Passare una variabile come parametro
var senza inizializzarla dovrebbe, per questo motivo, produrre un "warning", che non viene invece segnalato nel caso di
out per i motivi precedentemente esposti.
Ciao!