14 votes

Utilisation du mot-clé var en C#

Duplicatas possibles :
Que faut-il utiliser : var ou type de nom d'objet ?
Utilisation du mot-clé var en C#
Quel est l'intérêt du mot-clé var ?
Devrais-je toujours favoriser les variables locales implicitement typées en C# 3.0 ?

Je viens d'installer une version d'essai de ReSharper afin de l'évaluer pour mon entreprise. J'ai remarqué qu'il me suggère de modifier les éléments suivants (exemple inventé) :

string s = "";

à

var s = "";

Est-il préférable d'utiliser le mot-clé var plutôt que le type d'objet pour déclarer des variables ? Quels avantages cela procure-t-il ? Pour situer le contexte, je suis un ancien développeur Java qui vient d'effectuer une transition vers les travaux .Net.

32voto

Jon Grant Points 7560

Je pense que c'est bien d'utiliser var où cela rend le code plus facile à lire, ce qui pour moi signifierait que le type qui var remplace doit être complètement évident.

Par exemple, ce serait une bonne utilisation de var (exemple artificiel) :

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

Cependant, ce serait une mauvaise utilisation de var :

var thing = GetThingFromDatabase();

12voto

Xealot Points 251

Je le trouve utile dans certains cas où la déclaration de type est très longue, par exemple :

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

devient

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

8voto

Charlie Points 4976

Cela revient au même car en utilisant le mot clé var, la variable est typée implicitement et le compilateur infère le type au moment de la construction. Je préfère spécifier le type plutôt que d'utiliser var dans la plupart des cas, et je modifie donc mes paramètres de resharper.

1voto

ullmark Points 1875

Si je me souviens bien, Resharper dit simplement qu'il pourrait être écrit de cette façon. Il ne dit pas que vous devriez.

Beaucoup de suggestions sont juste des suggestions que j'ai rejetées la première fois que je les ai vues C'est l'une d'entre elles.

Il a également dit qu'il était redondant d'écrire "this.someProperty", alors que je pense que le code devient plus facile à lire en faisant cela.

0voto

Sorantis Points 6066

Resharper propose également de transformer l'instruction if en true ou not true. C'est presque la même chose, mais cela dépend de votre style de codage. Ainsi, lorsque vous trouvez l'utilisation de var plus confortable, utilisez cette suggestion.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X