3. Типы данных, литералы и переменные

Типы данных имеют особенное значение в С#, поскольку это строго типизированный язык.Это означает, что все операции подвергаются строгому контролю со стороны компилятора на соответствие типов, причем недопустимые операции не компилируются.
Следовательно, строгий контроль типов позволяет исключить ошибки и повысить надежность программ. Для обеспечения контроля типов все переменные, выражения и значения должны принадлежать к определенному типу.
Такого понятия, как "без типовая" переменная, в данном языке программирования вообще не существует. Более того, тип значения определяет те операции, которые разрешается выполнять над ним.
Операция, разрешенная для одного типа данных, может оказаться недопустимой для другого.
Инициализация переменной
тип имя_переменной = значение;
int conunt = 10; // задать начальное значение 10 переменной conunt.
char ch = 'X1; // инициализировать переменную ch буквенным значением X.
float f = 1.2 // переменная f инициализируется числовым значением 1,2.
int а, Ь=8, с =19, d; // инициализировать переменные b и с
Динамическая инициализация
// Длина сторон прямоугольного треугольника.
double si = 4.0;
double s2 = 5.0;
// Инициализировать переменную hypot динамически,
double hypot = Math.Sqrt( (si * si) + (s2 * s2) );
Неявно типизированные переменные
var e = 2.7183; var e = 2.7183F;
var si = 4.0, s2 = 5.0; // Ошибка!
Область действия и время существования переменных
С# локальную переменную разрешается объявлять в любом кодовом блоке. Кодовый блок
начинается открывающей фигурной скобкой и оканчивается закрывающей фигурной скобкой.
Этот блок и определяет область действия. Следовательно, всякий раз, когда начинается блок,
образуется новая область действия.
Объявляя переменную в определенной области действия, вы тем самым защищаете ее от
доступа или видоизменения вне данной области. Разумеется, правила области действия служат
основанием для инкапсуляции.
Операторы