Найти в Дзене

Объявление без указания типа в C#

В таких языках, как 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 использовать не следует, поскольку это усложняет чтение кода, и в некоторых случаях может привести к труднонаходимым ошибкам.

На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.