В настоящее время я преподаю коллеге .Net, и он задал мне вопрос, который меня насторожил.
Почему мы должны объявлять?
если var является неявной типизацией, почему мы должны даже объявлять?
Animal animal = new Animal();
становится
var animal = new Animal();
может стать
animal = new Animal();
Неявное типирование все равно означает, что это статически типизированная переменная.
Если для переменной присваивается два разных типа, если они не разделяют базовый класс (кроме объекта), это может быть ошибкой компилятора.
Есть ли техническая причина, по которой это невозможно сделать или это стилистически нам нравится hasin