Объявление неявно типизированных локальных переменных
Компилятор C# работает за кулисами, чтобы помочь вам при написании кода. Он может определить тип данных переменной по инициализированному значению. В этом уроке вы узнаете об этой функции, называемой неявно типизированными локальными переменными.
Что такое неявно типизированные локальные переменные?
Неявно типизированные локальные переменные создаются с помощью ключевого слова var, за которым следует инициализация переменной. Рассмотрим пример.
var message = "Hello world!";
В этом примере строковая переменная была создана с помощью ключевого слова var вместо ключевого слова string.
Ключевое var слово сообщает компилятору C#, что тип данных подразумевается присвоенным значением. После того как тип неявно определён, переменная действует так же, будто он был объявлен фактически. Ключевое var слово используется для сокращения числа нажатий клавиш, если типы длинные или же тип очевиден из контекста.
В примере:
var message = "Hello world!";
Так как переменная message сразу же устанавливается в string значение "Hello World!", компилятор C# понимает намерение и обрабатывает каждый экземпляр message как экземпляр типа string.
На самом деле message переменная типитируется как тип string и никогда не может быть изменена. Например, рассмотрим следующий код:
var message = "Hello World!";
message = 10.703m;
При запуске этого кода появится следующее сообщение об ошибке.
CS0029: Cannot implicitly convert type 'decimal' to 'string'
Замечание
Другие языки программирования используют ключевое слово по-другому var . В C#переменные назначаются компилятором независимо от того, используете ли фактическое имя типа данных или разрешаете компилятору подразумевать тип данных. Другими словами, тип будет заблокирован в момент объявления и поэтому никогда не сможет принимать значения другого типа данных.
Переменные, использующие ключевое var слово, должны быть инициализированы
Важно понимать, что var ключевое слово зависит от значения, используемого для инициализации переменной. При попытке использовать ключевое var слово без инициализации переменной вы получите ошибку при попытке компиляции кода.
var message;
Если вы попытаетесь запустить этот код, как он компилируется, вы увидите следующие выходные данные:
CS0818: Implicitly-typed variables must be initialized
Зачем использовать ключевое var слово?
Ключевое var слово широко принято в сообществе C#. Скорее всего, если вы посмотрите пример кода в книге или в Интернете, вы увидите var ключевое слово, используемое вместо фактического имени типа данных, поэтому важно понять его использование.
Ключевое var слово имеет важное использование в C#. Во многих случаях тип переменной очевиден из его инициализации. В таких случаях проще использовать var ключевое слово. Ключевое var слово также может быть полезно при планировании кода для приложения. При начале разработки кода для задачи вы можете не сразу знать, какой тип данных следует использовать. Использование var может помочь вам в разработке решения более динамически.
При начале работы рекомендуется продолжать использовать фактическое имя типа данных при объявлении переменных, пока не станете более комфортно работать с кодом. Использование типа данных при объявлении переменных поможет вам быть целеустремленным при написании кода.
Обзор
Вот что вы узнали о ключевом слове var до сих пор:
- Ключевое
varслово сообщает компилятору определить тип данных переменной на основе значения, в который он инициализирован. - Скорее всего,
varключевое слово встречается при чтении кода других людей. Однако при возможности следует использовать тип данных.