Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Язык C# и основы платформы .NET.docx
Скачиваний:
36
Добавлен:
11.05.2015
Размер:
178.68 Кб
Скачать

6. Операторы

Методы пользовательских типов состоят из операторов, которые выполняются последовательно. Часто используется операторный блок– последовательность операторов, заключённая в фигурные скобки. Иногда возникает необходимость впустом операторе– он записывается как символ;(точка с запятой).

6.1. Операторы объявления

К операторам объявления относятсяоператоры объявления переменныхиоператоры объявления констант. Для объявления локальных переменных метода применяется оператор следующего формата:

тип имя-переменной [= начальное-значение];

Здесь тип– тип переменной,имя-переменной– допустимый идентификатор, необязательноеначальное-значение– литерал или выражение, соответствующее типу переменной. Локальные переменные методов не могут использоваться в вычислениях, не будучи инициализированы.

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

int a; // простейший вариант объявления

int a = 20; // объявление с инициализацией

int a, b, c; // объявление однотипных переменных

int a = 20, b = 10; // инициализация нескольких переменных

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

varx = 3;

vary ="Student";

var z = new Student();

Не стоит воспринимать переменные, объявленные с var, как некие универсальные контейнеры для данных любого типа. Все эти переменные строго типизированы. Так, переменнаяxв приведённом выше примере имеет типint.

Оператор объявления константы имеет следующий синтаксис:

const тип-константы имя-константы = выражение;

Допустимый тип-константы– это числовой тип,bool,string, перечисление или произвольный ссылочный тип.Выражение, которое присваивается константе, должно быть полностью вычислимо на момент компиляции. Обычно в качестве выражения используется литерал соответствующего типа. Для ссылочных типов (за исключениемstring) единственно допустимым выражением являетсяnull. Как и при объявлении переменных, можно определить в одном операторе несколько однотипных констант:

constdoublePi = 3.1415926, E = 2.718281828;

conststringName ="Student";

const object locker = null;

Область доступа к переменной или константе ограничена операторным блоком, содержащим объявление:

{

int i = 10;

}

Console.WriteLine(i); // ошибка компиляции, переменная i не доступна

Если операторные блоки вложены друг в друга, то внутренний блок не может содержать объявлений переменных, идентификаторы которых совпадают с переменными внешнего блока:

{

inti = 10;

{

inti = 20;// ошибка компиляции

}

}

6.2. Операторы выражений

Операторы выражений– это выражения, одновременно являющиеся допустимыми операторами:

– операция присваивания (включая инкремент и декремент);

– операция вызова метода или делегата;

– операция создания объекта;

– операция асинхронного ожидания.

Приведём несколько примеров операторов выражений:

x = 1 + 2; // присваивание

x++; // инкремент

Console.Write(x); // вызов метода

new StringBuilder(); // создание объекта

await Task.Delay(1000); // асинхронное ожидание

Заметим, что при вызове конструктора или метода, возвращающего значение, результат их работы использовать не обязательно.