Domanda

  

Possibili duplicati:
   Cosa usare: var o tipo di nome oggetto?
   Uso della parola chiave var in C #
   Qual è il punto della parola chiave var?
   Dovrei sempre favorire variabili locali tipicamente implicite in C # 3.0?

Ho appena installato una versione di prova di ReSharper per valutarla per la mia azienda. Una cosa che ho notato è che sta suggerendo di cambiare quanto segue (esempio inventato):

string s = "";

a

var s = "";

È consigliabile utilizzare la parola chiave var anziché utilizzare il tipo di oggetto quando si dichiarano le variabili? Quali vantaggi offre. Per il contesto, sono un ex sviluppatore Java che è appena passato alle opere .Net.

È stato utile?

Soluzione

Penso che vada bene usare var dove renda più facile la lettura del codice, il che per me significherebbe che il tipo che var sta sostituendo deve essere completamente ovvio.

Ad esempio, questo sarebbe un buon uso di var (esempio inventato):

var thing = new Dictionary<int, KeyValuePair<string, int>>();

Tuttavia questo sarebbe un cattivo uso di var :

var thing = GetThingFromDatabase();

Altri suggerimenti

Lo trovo utile in alcuni casi in cui la dichiarazione del tipo è molto lunga, ad esempio:

Dictionary<int, string> item = new Dictionary<int, string>();

diventa

var item = new Dictionary<int, string>();

Ciò equivale alla stessa cosa perché usando la parola chiave var, la variabile viene tipizzata in modo implicito e il compilatore ne inserisce il tipo al momento della compilazione. Preferisco specificare il tipo piuttosto che usare var nella maggior parte dei casi, quindi cambio le mie impostazioni di resharper.

Come lo ricordo, Resharper dice solo che potrebbe essere scritto in questo modo. Non dice che dovresti.

Molti suggerimenti sono solo suggerimenti che ho rivolto la prima volta che li ho visti .. Quello è uno di loro.

Un altro è stato detto che era ridondante scrivere "this.someProperty", mentre penso che il codice diventa più facile da leggere facendo questo.

Resharper ha anche suggerimenti per trasformare l'istruzione if in vero o non vero. Quasi la stessa cosa, ma dipende dal tuo stile di programmazione. Quindi, quando trovi più comodo l'uso di var, usa questo suggerimento.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top