Jb Эвайн ответ правильный;Я просто подумал, что добавлю, что причина ошибки в том, что «var» не является предопределенным типом .Предопределенный тип - это что-то вроде «int» или «string».
Синтаксический анализатор не знает, есть ли у вас класс с именем "var" в области видимости;«var» обрабатывается не как предопределенный тип, а как просто другое имя для другого типа.Только если мы не можем найти тип в области видимости с именем "var", семантический анализатор затем решит, о, это должен быть неявно типизированный локальный объект.
Причина этого в том, что "var"был добавлен в C # 3, и могут быть программы на C # 1 или 2, которые используют" var "в качестве имени типа.Мы не хотели ломать эти программы.