В таких языках, как C#, С/С++, Паскаль и т.п., при объявлении переменных принято указывать тип данных. И, например, в Паскале делать это обязательно. А вот в C# это НЕ обязательно.
Правда, лично я сторонник того, чтобы всегда указывать тип данных (старая школа))). И хотя волей-неволей, программируя на PHP, JavaScript, а изредка и на Python, я уже смирился с тем, что типы указывать не надо, основным моим языком по прежнему остаётся Паскаль (Lazarus), поэтому я и в C# бы указывал типы всегда. Но, если кому-то очень хочется, то C# предоставляет возможность объявлять переменные без типов.
Итак, обычно в C# переменная объявляется так:
int x = 0;
То есть сначала указываем тип данных, затем имя переменной. Ну и напомню, что в C# инициализировать переменную надо обязательно, если вы хотите её использовать в программе.
Однако можно сделать и так:
var x = 0;
var y = 3.14 * 2;
var Hello = "Привет, МИР!";
То есть поставив вместо типа данных ключевое слово var, мы указываем компилятору, что он сам должен определить тип переменной. И в большинстве случаев он это успешно делает. И даже если потом вы сделаете вот так:
var z = x + Hello;
то ошибки компиляции не будет. Просто компилятор попытается преобразовать типы так, чтобы получилось какое-то приемлемое значение. В данном случае число в переменной х будет преобразовано в строку, и в переменной z будет строка "0Привет, МИР!".
Соответственно, переменная y будет иметь тип double, поскольку в выражении 3.14 * 2 имеется не только целое число, но и вещественное. Наглядно это показано в примере:
Как видите, функция GetType() возвращает ожидаемые значения.
Ну а вообще без крайней необходимости var использовать не следует, поскольку это усложняет чтение кода, и в некоторых случаях может привести к труднонаходимым ошибкам.
На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.