À partir de MSDN :
Cependant, l'utilisation de var a au moins le potentiel de rendre votre code plus difficile à comprendre pour les autres développeurs. Pour cette raison, la documentation C # utilise généralement var uniquement lorsque cela est nécessaire.
Je n'aime vraiment pas vraiment la dactylographie implicite. En apparence, il a tendance à rendre le code plus lisible, mais peut entraîner de nombreux problèmes par la suite. Si un dev change un initialiseur de variable, disons de
var myFloat=100f;
à
var myFloat=100;
ou
var myFloat=100.0;
Le type changera, entraînant toute une série d’erreurs de compilation ou, s’il s’agit d’une vue Web et que vous n’utilisez pas l’étape de post-génération pour précompiler vos vues, toute une série d’erreurs d’exécution qui ne seront pas détectées sans un traitement efficace. tests de pré-déploiement.
Le typage implicite ne fonctionne pas non plus partout (à partir du même lien MSDN)
var ne peut être utilisé que lorsqu'une variable locale est déclarée et initialisée dans la même instruction; la variable ne peut pas être initialisée à null, à un groupe de méthodes ou à une fonction anonyme.
var ne peut pas être utilisé sur des champs de portée de classe.
Les variables déclarées à l'aide de var ne peuvent pas être utilisées dans l'expression d'initialisation. En d'autres termes, cette expression est légale: int i = (i = 20); mais cette expression produit une erreur de compilation: var i = (i = 20);
Plusieurs variables implicitement typées ne peuvent pas être initialisées dans la même instruction.
Si un type nommé var se trouve dans la portée, le mot clé var sera résolu en ce nom de type et ne sera pas traité comme faisant partie d'une déclaration de variable locale implicitement typée.
Garder votre code cohérent (dans ce cas, utiliser du texte explicite partout) est une très, très bonne chose. À mon avis, var
est paresseux et ne procure aucun avantage réel et introduit un autre point d'échec potentiel dans un processus déjà complexe.
Mise à jour 2017
J'ai complètement changé d'avis. Lorsque je travaille en C #, j'utilise la var
plupart du temps (à l'exception de choses comme les variables de type interface, etc.). Cela maintient le code concis, ce qui améliore la lisibilité. Restez cependant attentif à ce que le type résolu est vraiment.