Вы находитесь на странице: 1из 2

изменено.

При объявлении символических констант на первом


месте помещают модификатор const. Подробнее об этом речь
пойдёт ниже.

Перечисления являются наборами символических констант.


Особенности их объявления и использования будут рассмотрены
по- сле материала о символических константах.

Скалярные объекты встроенных типов данных

Язык С#, как и его ближайшие родственники, относится к язы-


кам со строгой типизацией. Это означает, что любой объект до
его использования должен быть объявлен. Исключение из этого
правила составляют только простые константы.

Общий синтаксис оператора объявления объекта (обычно назы-


ваемого переменной) в несколько облегченном виде следующий:
тип идентификатор = значение;

В качестве значения может выступать простая константа или уже


объявленная переменная. При этом само значение в операторе
объявления не является обязательным, но в любом случае
переменная должна получить конкретное значение её первого
использования. В следующем фрагменте во время трансляции
будет получено сооб- щение об ошибке, связанной с попыткой
использования неинициали- зированной переменной b:
int a=20, b;
Console.WriteLine(" a= {0} b= {0}", a, b);

Все объекты в языке С# объявляются в каком-либо блоке, в этом


отношении они являются локальными. Их область видимости
(scope – часть программы, в границах которой объект доступен
для использо- вания) начинается с оператора объявления и
заканчивается фигурной скобкой, завершающей блок.
Допускается неограниченное количе- ство вложений одних
блоков в другие. При этом каждый раз область видимости более
внешнего объекта распространяется на более внут- ренний блок.
Соответственно обратное не допускается. Следствием этого
правила является запрет на совпадение имён переменных во
внешних и внутренних блоках.

Типы в языке С#, как и в любом другом объектно-


ориентированном языке программирования, делятся на
встроенные (системные, интегрированные) и пользовательские.
Первые опреде- ляются стандартом языка программирования.
Вторые разрабатывает
19

сам программист. И те и другие типы в общем случае могут быть


ис- пользованы для объявления двух видов объектов:

   размерных (или значащих). К объектам этого типа


относятся скалярные переменные, структуры и
перечисления. Отличи- тельная особенность значащих
объектов в том, что в них самих содержатся данные, а
размещаются они в стековой памяти;
   ссылочных. Объекты такого типа всегда содержат
множество элементов. При объявлении объекта ссылочного
типа сначала создаётся ссылка – переменная, значением
(содержимым) кото- рой является адрес. Затем в
динамической области выделяется память под размещение
объекта, и адрес данного участка памяти сохраняется в
объекте-ссылке. Это сильно напоминает косвен- ную
адресацию, известную из ассемблера. Примером объекта
ссылочного типа могут служить строки, массивы. Любой
объект пользовательского типа, объявленного с помощью
оператора class, также является ссылочным.

Из табл. 1 несложно заметить, что встроенные типы данных


языка C# в основном соответствуют машинным форматам
данных защищённого режима.