месте помещают модификатор const. Подробнее об этом речь пойдёт ниже.
Перечисления являются наборами символических констант.
Особенности их объявления и использования будут рассмотрены по- сле материала о символических константах.
Скалярные объекты встроенных типов данных
Язык С#, как и его ближайшие родственники, относится к язы-
кам со строгой типизацией. Это означает, что любой объект до его использования должен быть объявлен. Исключение из этого правила составляют только простые константы.
Общий синтаксис оператора объявления объекта (обычно назы-
ваемого переменной) в несколько облегченном виде следующий: тип идентификатор = значение;
В качестве значения может выступать простая константа или уже
объявленная переменная. При этом само значение в операторе объявления не является обязательным, но в любом случае переменная должна получить конкретное значение её первого использования. В следующем фрагменте во время трансляции будет получено сооб- щение об ошибке, связанной с попыткой использования неинициали- зированной переменной b: int a=20, b; Console.WriteLine(" a= {0} b= {0}", a, b);
Все объекты в языке С# объявляются в каком-либо блоке, в этом
отношении они являются локальными. Их область видимости (scope – часть программы, в границах которой объект доступен для использо- вания) начинается с оператора объявления и заканчивается фигурной скобкой, завершающей блок. Допускается неограниченное количе- ство вложений одних блоков в другие. При этом каждый раз область видимости более внешнего объекта распространяется на более внут- ренний блок. Соответственно обратное не допускается. Следствием этого правила является запрет на совпадение имён переменных во внешних и внутренних блоках.
Типы в языке С#, как и в любом другом объектно-
ориентированном языке программирования, делятся на встроенные (системные, интегрированные) и пользовательские. Первые опреде- ляются стандартом языка программирования. Вторые разрабатывает 19
сам программист. И те и другие типы в общем случае могут быть
ис- пользованы для объявления двух видов объектов:
размерных (или значащих). К объектам этого типа
относятся скалярные переменные, структуры и перечисления. Отличи- тельная особенность значащих объектов в том, что в них самих содержатся данные, а размещаются они в стековой памяти; ссылочных. Объекты такого типа всегда содержат множество элементов. При объявлении объекта ссылочного типа сначала создаётся ссылка – переменная, значением (содержимым) кото- рой является адрес. Затем в динамической области выделяется память под размещение объекта, и адрес данного участка памяти сохраняется в объекте-ссылке. Это сильно напоминает косвен- ную адресацию, известную из ассемблера. Примером объекта ссылочного типа могут служить строки, массивы. Любой объект пользовательского типа, объявленного с помощью оператора class, также является ссылочным.
Из табл. 1 несложно заметить, что встроенные типы данных
языка C# в основном соответствуют машинным форматам данных защищённого режима.