Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс_ред.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
1.76 Mб
Скачать

Составные операторы

Ранее мы познакомились с унарными операторами инкремента и декремента, позволяющими соответственно увеличивать или уменьшать на единицу значение операнда.

Использование этих операторов позволяет сделать исходный текст программы более компактным и легко читаемым. Кроме того, такой код будет выполняться быстрее из-за оптимизации, выполняемой компилятором.

В языке С# имеется еще целый ряд так называемых составных операторов, применение которых позволяет улучшить читаемость исходного текста программы и увеличить скорость ее работы.

Составные операторы получаются комбинированием бинарного оператора и оператора присваивания:

Символ

Оператор

+=

Сложение и присваивание

–=

Вычитание и присваивание

*=

Умножение и присваивание

/=

Деление и присваивание

%=

Вычисление остатка от деления и присваивание

&=

Логическое И и присваивание

|=

Логическое ИЛИ и присваивание

^=

Логическое ИСКЛЮЧАЮЩЕЕ ИЛИ и присваивание

<<=

Сдвиг влево и присваивание

>>=

Сдвиг вправо и присваивание

Предположим, нам нужно увеличить значение, хранящееся в переменной х, на 2. Это можно сделать при помощи обычного бинарного оператора сложения, например, так:

int х = 1;

х = х + 2;

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

х += 2;

Как видите, здесь переменная х упоминается только один раз. Аналогичным образом можно использовать и другие числовые составные операторы:

х -= 3;

х *= 5;

х \= 2;

x %= 2;

Пока речь идет об изменении значений числовых переменных с именами типа x или y, преимущество использования составных операторов, возможно, не столь очевидно. Однако если Ваши переменные имеют длинные (и понятные!) имена типа isBlackColor, возможность указать их имена в выражении только один раз покажется Вам удобной. Не забывайте также об эффективности получаемого кода!

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

Поразрядные операторы

В языке С# имеются так называемые поразрядные операторы, с помощью которых можно изменять состояние отдельных или всех разрядов значений, хранящихся в переменных.

Поразрядные операторы предназначены для выполнения операций логическое И (AND), логическое ИЛИ (OR), логическое ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR) и логическое отрицание НЕ (NOT), а также операций поразрядного сдвига влево и вправо. Соответствующие им символы перечислены в следующей таблице:

Символ

Оператор

&

Логическое И

|

Логическое ИЛИ

^

Логическое ИСКЛЮЧАЮЩЕЕ ИЛИ

~

Унарная поразрядная операция дополнения

<<

Сдвиг влево

>>

Сдвиг вправо

Расскажем подробнее об этих операциях и соответствующих поразрядных операторах.