Z MSDN :
Jednak użycie var może przynajmniej utrudniać zrozumienie kodu dla innych programistów. Z tego powodu dokumentacja w języku C # zwykle używa var tylko wtedy, gdy jest to wymagane.
Naprawdę, naprawdę nie lubię niejawnego pisania. Na powierzchni sprawia, że kod jest bardziej czytelny, ale może prowadzić do wielu problemów w przyszłości. Jeśli dev zmieni inicjalizator zmiennej, powiedzmy, z
var myFloat=100f;
do
var myFloat=100;
lub
var myFloat=100.0;
Typ ulegnie zmianie, co spowoduje całą masę błędów kompilatora lub, jeśli jest to widok internetowy i nie używasz kroku po kompilacji do wstępnej kompilacji swoich widoków, cała masa błędów środowiska wykonawczego, które nie zostaną wychwycone bez skutecznego testy przedwdrożeniowe.
Wpisywanie niejawne również nie działa wszędzie (z tego samego łącza MSDN)
Zmienna może być używana tylko wtedy, gdy zmienna lokalna jest zadeklarowana i zainicjowana w tej samej instrukcji; zmiennej nie można zainicjować na wartość null ani na grupę metod lub funkcję anonimową.
Zmienna nie może być używana w polach w zakresie klasy.
Zmienne zadeklarowane przy użyciu var nie mogą być użyte w wyrażeniu inicjalizacji. Innymi słowy, to wyrażenie jest zgodne z prawem: int i = (i = 20); ale to wyrażenie powoduje błąd czasu kompilacji: var i = (i = 20);
W tej samej instrukcji nie można zainicjować wielu zmiennych o niejawnym typie.
Jeśli typ o nazwie var znajduje się w zakresie, słowo kluczowe var rozpozna nazwę tego typu i nie będzie traktowane jako część niejawnie wpisanej deklaracji zmiennej lokalnej.
Utrzymywanie spójnego kodu (w tym przypadku używanie jawnego pisania wszędzie) jest bardzo, bardzo dobrą rzeczą. Moim zdaniem var
jest leniwy i nie przynosi rzeczywistych korzyści, a także wprowadza kolejny potencjalny punkt awarii w już złożonym procesie.
Aktualizacja 2017
Całkowicie zmieniłem zdanie. Pracując w C #, używam var
większość czasu (z wyjątkiem rzeczy takich jak zmienne typu interfejs i tym podobne). Zachowuje zwięzły kod, który poprawia czytelność. Mimo to - zwróć uwagę na to, czym tak naprawdę jest typ rozwiązany.