Переменные и константы
Переменная представляет собой типизированную область памяти. Программист создает переменную, объявляя ее тип и указывая имя. При объявлении переменной ее можно инициализировать (присвоить ей начальное значение), а затем в любой момент ей можно присвоить новое значение, которое заменит собой предыдущее.
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. В результате получится новая строка, которая и будет выведена на экран.
|