Von MSDN :
Die Verwendung von var kann jedoch dazu führen, dass Ihr Code für andere Entwickler schwieriger zu verstehen ist. Aus diesem Grund wird in der C # -Dokumentation var im Allgemeinen nur verwendet, wenn dies erforderlich ist.
Ich mag implizites Tippen wirklich, wirklich nicht. Oberflächlich betrachtet macht es den Code besser lesbar, kann aber später zu vielen Problemen führen. Wenn ein Entwickler einen Variableninitialisierer ändert, sagen wir von
var myFloat=100f;
zu
var myFloat=100;
oder
var myFloat=100.0;
Der Typ ändert sich und führt zu einer ganzen Reihe von Compilerfehlern oder, wenn es sich um eine Webansicht handelt und Sie den Postbuild-Schritt nicht zum Vorkompilieren Ihrer Ansichten verwenden, zu einer ganzen Reihe von Laufzeitfehlern, die nicht ohne Wirkung abgefangen werden Pre-Deployment-Tests.
Implizite Eingabe funktioniert auch nicht überall (über denselben MSDN-Link)
var kann nur verwendet werden, wenn eine lokale Variable in derselben Anweisung deklariert und initialisiert wird. Die Variable kann nicht mit null, einer Methodengruppe oder einer anonymen Funktion initialisiert werden.
var kann nicht für Felder im Klassenbereich verwendet werden.
Mit var deklarierte Variablen können nicht im Initialisierungsausdruck verwendet werden. Mit anderen Worten, dieser Ausdruck ist legal: int i = (i = 20); Dieser Ausdruck erzeugt jedoch einen Fehler beim Kompilieren: var i = (i = 20);
Mehrere implizit typisierte Variablen können nicht in derselben Anweisung initialisiert werden.
Befindet sich ein Typ namens var im Gültigkeitsbereich, wird das Schlüsselwort var in diesen Typnamen aufgelöst und nicht als Teil einer implizit typisierten lokalen Variablendeklaration behandelt.
Es ist sehr, sehr gut, den Code konsistent zu halten (in diesem Fall überall explizite Eingabe). Meiner Meinung nach var
ist faul und bietet keinen wirklichen Nutzen und führt noch einen weiteren potenziellen Fehlerpunkt in einem bereits komplexen Prozess ein.
Update 2017
Ich habe meine Meinung komplett geändert. Wenn ich in C # arbeite, verwende ich die var
meiste Zeit (mit Ausnahme von Variablen vom Typ Interface und dergleichen). Es hält den Code knapp, was die Lesbarkeit verbessert. Dennoch - achten Sie darauf, was der aufgelöste Typ wirklich ist.