| Переменные и константыПеременная представляет собой типизированную область памяти. Программист создает переменную, объявляя ее тип и указывая имя. При объявлении переменной ее можно инициализировать (присвоить ей начальное значение), а затем в любой момент ей можно присвоить новое значение, которое заменит собой предыдущее.
 
 
 
 | static void Main() {     int i = 10; //объявление и инициализация целочисленной переменной i     Console.WriteLine(i); //просмотр значения переменной     i = 100; //изменение значение переменной     Console.WriteLine(i); } |  В языках предыдущего поколения переменные можно было использовать без инициализации. Это могло привести к множеству проблем и долгому поиску ошибок. В языке С# требуется, чтобы переменные были явно проинициализированы до их использования. Проверим этот факт на примере. 
 
 
 | static void Main() {     int i; //объявление переменной без инициализации     Console.WriteLine(i); //просмотр значения переменной } |  При попытке скомпилировать этот пример в списке ошибок будет выведено следующее сообщение: «Использование локальной переменной i, которой не присвоено значение).Инициализировать каждую переменную сразу при объявлении необязательно, но необходимо присвоить ей значение до того, как она будет использована.
 Константа, в отличие от переменной, не может менять свое значение. Константы бывают трех видов: литералы, типизированные константы и перечисления.
 В операторе присваивания:
 число 32 является литеральной константой. Его значение всегда равно 32 и его нельзя изменить.Типизированные константы именуют постоянные значения. Объявление типизированной константы происходит следующим образом:
 const <тип> <идентификатор> = <значение>;
 Рассмотрим пример:
 
 
 
 | static void Main() {     const int i = 10; //объявление целочисленной константы i     Console.WriteLine(i); //просмотр значения константы     i = 100; //ошибка – недопустимо изменять значение константы     Console.WriteLine(i); } |  Перечисления (enumerations) являются альтернативой константам. Перечисление - это особый размерный тип, состоящий из набора именованных констант (называемых списком перечисления). Синтаксис объявления перечисления следующий:[атрибуты] [модификаторы] enum <имя> [ : базовый тип]
 {список-перечисления констант(через запятую)};
 Замечание. Атрибуты и модификаторы являются необязательными элементами этой конструкции. Более подробные сведения о их можно найти в дополнительных источниках информации.
 Базовый тип - это тип самого перечисления. Если не указать базовый тип, то по умолчанию будет использован тип int. В качестве базового типа можно выбрать любой целый тип, кроме char. Пример использования перечисления:
 
 
 
 | class Program {     enum gradus : int     {         min = 0,         krit = 72,         max = 100, //1     }     static void Main()     {         Console.WriteLine("минимальная температура=" + (int)gradus.min);         Console.WriteLine("критическая температура=" + (int)gradus.krit);         Console.WriteLine("максимальная температура=" + (int)gradus.max);     } } |  Замечания1. В общем случае последнюю запятую в объявлении перечисления можно не ставить (см. строку 1). Но лучше ее поставить: если вам придется добавить еще несколько строк в перечисление, такая предусмотрительность избавит вас от возможных синтаксических ошибок.
 2. Запись (int) gradus.min используется для явного преобразования перечисления к целому типу. Если убрать (int), то на экран будет выводиться название констант.
 3. Символ + в записи "минимальная температура=" + (int) gradus.min при обращении к методу WriteLine означает, что строка "минимальная температура=" будет «склеена» со строковым представлением значения (int) gradus.min. В результате получится новая строка, которая и будет выведена на экран.
 |