Для чего используется оператор присваивания c
Операции присвоения устанавливают значение. В операциях присвоения участвуют два операнда, причем левый операнд может представлять только модифицируемое именованное выражение, например, переменную
Как и во многих других языках программирования, в C# имеется базовая операция присваивания = , которая присвоивает значение правого операнда левому операнду:
Здесь переменной number присваивается число 23. Переменная number представляет левый операнд, которому присваивается значение правого операнда, то есть числа 23.
Также можно выполнять множественно присвоение сразу нескольких переменным одновременно:
Стоит отметить, что операции присвоения имеют низкий приоритет. И вначале будет вычисляться значение правого операнда и только потом будет идти присвоение этого значения левому операнду. Например:
Сначала будет вычисляться выражение 34 * 2 / 4 , затем полученное значение будет присвоено переменным.
Кроме базовой операции присвоения в C# есть еще ряд операций:
+= : присваивание после сложения. Присваивает левому операнду сумму левого и правого операндов: выражение A += B равнозначно выражению A = A + B
-= : присваивание после вычитания. Присваивает левому операнду разность левого и правого операндов: A -= B эквивалентно A = A — B
*= : присваивание после умножения. Присваивает левому операнду произведение левого и правого операндов: A *= B эквивалентно A = A * B
/= : присваивание после деления. Присваивает левому операнду частное левого и правого операндов: A /= B эквивалентно A = A / B
%= : присваивание после деления по модулю. Присваивает левому операнду остаток от целочисленного деления левого операнда на правый: A %= B эквивалентно A = A % B
&= : присваивание после поразрядной конъюнкции. Присваивает левому операнду результат поразрядной конъюнкции его битового представления с битовым представлением правого операнда: A &= B эквивалентно A = A & B
|= : присваивание после поразрядной дизъюнкции. Присваивает левому операнду результат поразрядной дизъюнкции его битового представления с битовым представлением правого операнда: A |= B эквивалентно A = A | B
^= : присваивание после операции исключающего ИЛИ. Присваивает левому операнду результат операции исключающего ИЛИ его битового представления с битовым представлением правого операнда: A ^= B эквивалентно A = A ^ B
<<= : присваивание после сдвига разрядов влево. Присваивает левому операнду результат сдвига его битового представления влево на определенное количество разрядов, равное значению правого операнда: A <<= B эквивалентно A = A << B
>>= : присваивание после сдвига разрядов вправо. Присваивает левому операнду результат сдвига его битового представления вправо на определенное количество разрядов, равное значению правого операнда: A >>= B эквивалентно A = A >> B
Применение операций присвоения:
Операции присвоения являются правоассоциативными, то есть выполняются справа налево. Например:
Операторы в C#
Операторы — это символы, которые используются для выполнения операций с операндами. Операндами могут быть переменные и/или константы.
Например, в выражении 2 + 3 , + — это оператор, который используется для выполнения операции сложения, а 2 и 3 — операнды.
Операторы используются для управления переменными и их значениями в программе. C# поддерживает ряд операторов, разделенных по типам выполняемых ими операций.
Простой оператор присваивания
Основной оператор присваивания = используется для присвоения значений переменным.
Здесь переменной x присваивается значение 50.05.
Пример 1. Используем простой оператор присваивания
Вывод:
Вы могли заметить в примере фигурные скобки <> . Такой метод называется форматированием строк, о нем мы поговорим в другой статье. Сейчас вам достаточно знать, что <0>заменяется на firstNumber , следующей за строкой, а <1>заменяется на secondNumber .
Арифметические операторы
Арифметические операторы используются для выполнения арифметических операций: сложение, вычитание, умножение, деление и т. д.
Оператор
Название оператора
Пример
Оператор взятия остатка.
Пример 2. Используем арифметические операторы
Вывод:
Операторы сравнения
Операторы сравнения (они же — операторы отношения) используются для проверки связи между двумя операндами. Если сравнение истинно, результат будет true , иначе — false . Операторы отношения обычно используются в условиях и циклах.
Оператор
Название оператора
Пример
Больше или равно.
Меньше или равно.
Пример 3. Используем операторы сравнения
Вывод:
Логические операторы
Логические операторы используются для выполнения таких логических операций, как AND (ИЛИ), OR (И) и т. д. Логические операторы работают с булевыми выражениями и возвращают булевые значения true и false . Логические операторы нужны для принятия решений и в циклах.
Операнд 1
Операнд 2
OR ( || )
AND ( && )
- Если один из операндов true , то OR вернет true .
- Если один из операндов равен false , оператор AND вернет false .
Пример 4. Используем логические операторы
Вывод:
Унарные операторы
Унарные операторы работают только с одним операндом — это отличает их от всех остальных операторов.
Оператор
Название оператора
Описание
Оставляет знак операнда таким же.
Меняет знак операнда.
Увеличивает значение операнда на 1.
Уменьшает значение операнда на 1.
Инвертирует логическое значение операнда.
Пример 5. Используем унарные операторы
Вывод:
Когда ++ используется после операнда, значение сначала оценивается, а затем увеличивается на 1. Следовательно, оператор Console.WriteLine((number++)); выводит 10 вместо 11. После того, как значение выведено, оно увеличивается на 1.
Если ++ используется в качестве префикса, процесс обратный. Значение сначала увеличивается, а затем выводится. Следовательно, выражение Console.WriteLine((++number)); выводит 12.
То же самое и с оператором декремента — .
Тернарный оператор
Тернарный оператор ? : работает с тремя операндами. Это сокращение для конструкции if-then-else. Тернарный оператор можно использовать следующим образом:
Тернарный оператор работает вот так:
- Если выражение, указанное в условии равно true, переменной присваивается результат выражения1.
- Если же выражение равно false, переменной присваивается результат выражения2.
Пример 7. Используем тернарный оператор
Вывод:
Побитовые операторы
Побитовые операторы и операторы побитового сдвига используются для выполнения манипуляций с битами.
Оператор присваивания
Присваивание (assignment) – механизм, который позволяет изменять значения объектов. Простыми словами, с помощью присваивания можно задавать или изменять данные, которые хранятся в переменных.
В языке C# оператор присваивания обозначается символом равенства – “=”, и имеет следующий синтаксис:
<тип данных> <имя переменной> = <значение> в случае, когда создается новая переменная, или
<переменная> = <значение>, коли переменной присваивается новое значение.
Запись int myNumber = 345 компилятор понимает как:
- создать область в памяти для хранения целого числа со знаком, размером 32-бита;
- назначить ей имя myNumber;
- разместить в этой памяти число 345.
Тип данных значения должен совпадать (или поддерживать неявную конвертацию), с типом переменной.
Кроме этого оператор присваивания позволяет инициализировать, одним и тем же значением, несколько переменных одновременно(но такая запись усложняет чтение кода и мало применяется в практическом программировании):
Оператор имеет правую ассоциативность, поэтому приведенное выражением воспринимается компилятором как: a = (b = (c = 111));
Составные операторы присваивания
Кроме стандартного, в C# доступны составные операторы присваивания, они позволяют упростить запись выражений, где переменная, которой присваивается значение используется как первый операнд.
Присваивание с арифметическими операциями
Используется со всеми числовыми типами данных.
Сложение с присваиванием +=
Бинарный оператор, который присваивает первому операнду значение его суммы со вторым операндом:
Также может использоваться для конкатенации(склеивания) строк(string):
Вычитание с присваиванием -=
Бинарный оператор, который присваивает первому операнду результат вычитания из него значения второго операнда.
Умножение с присваиванием *=
Бинарный оператор, который присваивает первому операнду результат его умножения на второй операнд:
Деление с присваиванием /=
Бинарный оператор, который присваивает первому операнду результат его деления на второй операнд:
Деление по модулю с присваиванием %=
Бинарный оператор, который присваивает первому операнду результат остатка от его деления на второй операнд:
Присваивание с побитовыми операциями
Используются для целочисленных типов данных.
Логическое умножение с присваиванием &=
Бинарный оператор, который присваивает левому операнду результат конъюнкции двоичных форм левого и правого операндов:
Логическое сложение с присваиванием |=
Бинарный оператор, который присваивает левому операнду результат дизъюнкции двоичных форм левого и правого операндов:
Логическое сложение по модулю с присваиванием ^=
Бинарный оператор, который присваивает левому операнду результат операции XOR двоичных форм левого и правого операндов:
Смещение влево с присваиванием <<=
Бинарный оператор, который присваивает первому операнду результат после смещения влево первого, на количество разрядов заданного вторым операндом:
Смещение вправо с присваиванием >>=
Бинарный оператор, который присваивает первому операнду результат после смещения вправо первого, на количество позиций заданного вторым операндом:
Оператор присваивания
Оператор присваивания обозначается одиночным знаком равенства (=). В C# оператор присваивания действует таким же образом, как и в других языках программирования. Ниже приведена его общая форма:
Здесь имя_переменной должно быть совместимо с типом выражения. У оператора присваивания имеется одна интересная особенность, о которой вам будет полезно знать: он позволяет создавать цепочку операций присваивания. Рассмотрим следующий фрагмент кода:
В приведенном выше фрагменте кода одно и то же значение 10 задается для переменных х, у и z с помощью единственного оператора присваивания. Это значение присваивается сначала переменной z, затем переменной у и, наконец, переменной х. Такой способ присваивания «по цепочке» удобен для задания общего значения целой группе переменных.
Составные операторы присваивания
В C# предусмотрены специальные составные операторы присваивания, упрощающие программирование некоторых операций присваивания. Обратимся сначала к простому примеру:
Пара операторов += указывает компилятору на то, что переменной х должно быть присвоено ее первоначальное значение, увеличенное на 1.
Для многих двоичных операций, т.е. операций, требующих наличия двух операндов, существуют отдельные составные операторы присваивания. Общая форма всех этих операторов имеет следующий вид:
имя переменной op = выражение
где op — арифметический или логический оператор, применяемый вместе с оператором присваивания. Ниже перечислены составные операторы присваивания для арифметических и логических операций:
| Оператор | Аналог (выражение из вышеуказанного примера) |
|---|---|
| += | x = x + 1; |
| -= | x = x — 1; |
| *= | x = x*1; |
| /= | x = x/1; |
| %= | x = x%1; |
| |= | x = x | 1; |
| ^= | x = x^1; |
Составные операторы присваивания записываются более кратко, чем их несоставные эквиваленты. Поэтому их иногда еще называют укороченными операторами присваивания.
У составных операторов присваивания имеются два главных преимущества. Во-первых, они более компактны, чем их «несокращенные» эквиваленты. И во-вторых, они дают более эффективный исполняемый код, поскольку левый операнд этих операторов вычисляется только один раз. Именно по этим причинам составные операторы присваивания чаще всего применяются в программах, профессионально написанных на C#.