Переменные и константы

 

Переменная представляет собой типизированную область памяти. Программист создает переменную, объявляя ее тип и указывая имя. При объявлении переменной ее можно инициализировать (присвоить ей начальное значение), а затем в любой момент ей можно присвоить новое значение, которое заменит собой предыдущее.

 

static void Main()

{

int i=10; //объявление и инициализация целочисленной переменной i

Console.WriteLine(i); //просмотр значения переменной

i=100; //изменение значение переменной

Console.WriteLine(i);

}

 

В языке С# требуется, чтобы переменные были явно проинициализированы до их использования. Проверим этот факт на примере.

static void Main()

{

int i;

Console.WriteLine(i);

}

 

При попытке скомпилировать этот пример в списке ошибок будет выведено следующее сообщение: Use of unassigned local variable 'i' (используется неинициализированная локальная переменная i ).

 

Однако инициализировать каждую переменную необязательно, но необходимо присвоить ей значение до того, как она будет использована.

 

Константа - это переменная, значение которой нельзя изменить. Константы бывают трех видов: литералы, символические константы и перечисления.

 

В операторе присваивания: x=32;

 

число 32 является литеральной константой. Его значение всегда равно 32 и его нельзя изменить.

 

Символические константы именуют постоянные значения. Определение символической константы происходит следующим образом:

const <тип> <идентификатор> = <значение>;

 

Рассмотрим пример:

static void Main()

{

const int i=10; //объявление целочисленной константы i

Console.WriteLine(i); //просмотр значения константы

i=100; //ошибка

Console.WriteLine(i);

}

Задание. Измените программу так, чтобы при объявлении константы не происходила инициализация. Как на это отреагирует компилятор и почему?

Перечисления (enumerations) являются альтернативой константам. Перечисление - это особый размерный тип, состоящий из набора именованных констант (называемых списком перечисления).

 

Синтаксис определения перечисления следующий:

 

[атрибуты] [модификаторы] enum <имя> [ : базовый тип]

{список-перечисления констант (через запятую)};

 

Замечание. Атрибуты и модификаторы, являются необязательными элементами этой конструкции. Более подробно мы рассмотрим их позже.

 

Базовый тип - это тип самого перечисления. Если не указать базовый тип, то по умолчанию будет использован тип int. В качестве базового типа можно выбрать любой целый тип, кроме char. Пример использования перечисления: