В этой статье мы узнаем все о различных типах операторов в языке программирования C # и о том, как их использовать.
Операторы - это символы, которые используются для выполнения операций с операндами. Операнды могут быть переменными и / или константами.
Так , например , в 2+3
, +
является оператором , который используется для выполнения операции сложения, в то время , 2
и 3
являются операндами.
Операторы используются для управления переменными и значениями в программе. C # поддерживает ряд операторов, классифицируемых в зависимости от типа выполняемых ими операций.
1. Базовый оператор присваивания
Базовый оператор присваивания (=) используется для присвоения значений переменным. Например,
двойной x; х = 50,05;
Здесь 50,05 присвоено x.
Пример 1: основной оператор присваивания
using System; namespace Operator ( class AssignmentOperator ( public static void Main(string() args) ( int firstNumber, secondNumber; // Assigning a constant to variable firstNumber = 10; Console.WriteLine("First Number = (0)", firstNumber); // Assigning a variable to another variable secondNumber = firstNumber; Console.WriteLine("Second Number = (0)", secondNumber); ) ) )
Когда мы запустим программу, вывод будет:
Первое число = 10 Второе число = 10
Это простой пример, демонстрирующий использование оператора присваивания.
Вы могли заметить ( )
в этом примере фигурные скобки . Мы обсудим их в строковом форматировании. На данный момент просто имейте в виду, что (0)
заменяется первой переменной, следующей за строкой, (1)
заменяется второй переменной и так далее.
2. Арифметические операторы
Арифметические операторы используются для выполнения арифметических операций, таких как сложение, вычитание, умножение, деление и т. Д.
Например,
int x = 5; int y = 10; int z = x + y; // z = 15Арифметические операторы C #
Оператор | Имя оператора | пример |
---|---|---|
+ | Оператор сложения | 6 + 3 оценивается как 9 |
- | Оператор вычитания | 10-6 оценивается как 4 |
* | Оператор умножения | 4 * 2 оценивается как 8 |
/ | Оператор отдела | 10/5 оценивается как 2 |
% | Оператор по модулю (остаток) | 16% 3 оценивается как 1 |
Пример 2: арифметические операторы
using System; namespace Operator ( class ArithmeticOperator ( public static void Main(string() args) ( double firstNumber = 14.40, secondNumber = 4.60, result; int num1 = 26, num2 = 4, rem; // Addition operator result = firstNumber + secondNumber; Console.WriteLine("(0) + (1) = (2)", firstNumber, secondNumber, result); // Subtraction operator result = firstNumber - secondNumber; Console.WriteLine("(0) - (1) = (2)", firstNumber, secondNumber, result); // Multiplication operator result = firstNumber * secondNumber; Console.WriteLine("(0) * (1) = (2)", firstNumber, secondNumber, result); // Division operator result = firstNumber / secondNumber; Console.WriteLine("(0) / (1) = (2)", firstNumber, secondNumber, result); // Modulo operator rem = num1 % num2; Console.WriteLine("(0) % (1) = (2)", num1, num2, rem); ) ) )
Когда мы запустим программу, вывод будет:
14,4 + 4,6 = 19 14,4 - 4,6 = 9,8 14,4 * 4,6 = 66,24 14,4 / 4,6 = 3,1304347826087 26% 4 = 2
В приведенном выше примере выполняются арифметические операции. В операторах переменные могут быть заменены константами. Например,
результат = 4,5 + 2,7; // результат будет содержать 7.2 result = firstNumber - 3.2; // результат будет 11.2
3. Операторы отношения
Операторы отношения используются для проверки связи между двумя операндами. Если связь верна, результат будет true
, иначе результатом будет false
.
Операторы отношения используются в принятии решений и циклах.
Операторы отношения C #Оператор | Имя оператора | пример |
---|---|---|
== | Равно | 6 == 4 оценивается как ложь |
> | Лучше чем | 3> -1 оценивается как истина |
< | Меньше, чем | 5 <3 оценивается как ложь |
> = | Больше или равно | 4> = 4 оценивается как истина |
<= | Меньше или равно | 5 <= 3 оценивается как ложь |
знак равно | Не равно | 10! = 2 оценивается как истина |
Пример 3: Операторы отношения
using System; namespace Operator ( class RelationalOperator ( public static void Main(string() args) ( bool result; int firstNumber = 10, secondNumber = 20; result = (firstNumber==secondNumber); Console.WriteLine("(0) == (1) returns (2)",firstNumber, secondNumber, result); result = (firstNumber> secondNumber); Console.WriteLine("(0)> (1) returns (2)",firstNumber, secondNumber, result); result = (firstNumber < secondNumber); Console.WriteLine("(0) = secondNumber); Console.WriteLine("(0)>= (1) returns (2)",firstNumber, secondNumber, result); result = (firstNumber <= secondNumber); Console.WriteLine("(0) <= (1) returns (2)",firstNumber, secondNumber, result); result = (firstNumber != secondNumber); Console.WriteLine("(0) != (1) returns (2)",firstNumber, secondNumber, result); ) ) )
Когда мы запустим программу, вывод будет:
10 == 20 возвращает False 10> 20 возвращает False 10 = 20 возвращает False 10 <= 20 возвращает True 10! = 20 возвращает True
4. Логические операторы
Логические операторы используются для выполнения логических операций , таких как and
, or
. Логические операторы работают с логическими выражениями ( true
и false
) и возвращают логические значения. Логические операторы используются при принятии решений и циклах.
Вот как результат вычисляется для логического AND
и OR
операторов.
Операнд 1 | Операнд 2 | ИЛИ (||) | И (&&) |
---|---|---|---|
правда | правда | правда | правда |
правда | ложный | правда | ложный |
ложный | правда | правда | ложный |
ложный | ложный | ложный | ложный |
Проще говоря, таблицу можно резюмировать так:
- Если один из операндов истинен,
OR
оператор оценит его какtrue
. - Если один из операндов ложен,
AND
оператор оценит его какfalse
.
Пример 4: логические операторы
using System; namespace Operator ( class LogicalOperator ( public static void Main(string() args) ( bool result; int firstNumber = 10, secondNumber = 20; // OR operator result = (firstNumber == secondNumber) || (firstNumber> 5); Console.WriteLine(result); // AND operator result = (firstNumber == secondNumber) && (firstNumber> 5); Console.WriteLine(result); ) ) )
Когда мы запустим программу, вывод будет:
Верно Неверно
5. Унарные операторы
В отличие от других операторов, унарные операторы работают с одним операндом.
Унарные операторы C #Оператор | Имя оператора | Описание |
---|---|---|
+ | Унарный Плюс | Оставляет знак операнда как есть |
- | Унарный минус | Меняет знак операнда |
++ | Приращение | Увеличить значение на 1 |
- | Декремент | Уменьшить значение на 1 |
! | Логическое отрицание (не) | Инвертирует значение логического |
Пример 5: Унарные операторы
using System; namespace Operator ( class UnaryOperator ( public static void Main(string() args) ( int number = 10, result; bool flag = true; result = +number; Console.WriteLine("+number = " + result); result = -number; Console.WriteLine("-number = " + result); result = ++number; Console.WriteLine("++number = " + result); result = --number; Console.WriteLine("--number = " + result); Console.WriteLine("!flag = " + (!flag)); ) ) )
Когда мы запустим программу, вывод будет:
+ число = 10 -число = -10 ++ число = 11 --число = 10! флаг = Ложь
Операторы инкремента (++)
и декремента (--)
могут использоваться как префикс и постфикс. Если используется как префикс, изменение значения переменной отображается в той же строке, а если используется как постфикс, изменение значения переменной отображается в следующей строке. Это будет ясно из следующего примера.
Пример 6: операторы Post и Pre Increment в C #
using System; namespace Operator ( class UnaryOperator ( public static void Main(string() args) ( int number = 10; Console.WriteLine((number++)); Console.WriteLine((number)); Console.WriteLine((++number)); Console.WriteLine((number)); ) ) )
Когда мы запустим программу, вывод будет:
10 11 12 12
We can see the effect of using ++
as prefix and postfix. When ++
is used after the operand, the value is first evaluated and then it is incremented by 1
. Hence the statement
Console.WriteLine((number++));
prints 10
instead of 11
. After the value is printed, the value of number is incremented by 1
.
The process is opposite when ++
is used as prefix. The value is incremented before printing. Hence the statement
Console.WriteLine((++number));
prints 12
.
The case is same for decrement operator (--)
.
6. Ternary Operator
The ternary operator ? :
operates on three operands. It is a shorthand for if-then-else
statement. Ternary operator can be used as follows:
variable = Condition? Expression1 : Expression2;
Тернарный оператор работает следующим образом:
- Если выражение, указанное в Condition, равно
true
, результат Expression1 присваивается переменной. - Если это так
false
, результат Expression2 присваивается переменной.
Пример 7: Тернарный оператор
using System; namespace Operator ( class TernaryOperator ( public static void Main(string() args) ( int number = 10; string result; result = (number % 2 == 0)? "Even Number" : "Odd Number"; Console.WriteLine("(0) is (1)", number, result); ) ) )
Когда мы запустим программу, вывод будет:
10 - четное число
Чтобы узнать больше, посетите тернарный оператор C #.
7. Побитовые операторы и операторы битового сдвига
Побитовые операторы и операторы битового сдвига используются для выполнения операций битовой манипуляции.
C # Побитовые операторы и операторы битового сдвигаОператор | Имя оператора |
---|---|
~ | Побитовое дополнение |
& | Побитовое И |
| | Побитовое ИЛИ |
^ | Побитовое исключающее ИЛИ |
<< | Побитовый сдвиг влево |
>> | Побитовый сдвиг вправо |
Пример 8: Оператор побитового и побитового сдвига
using System; namespace Operator ( class BitOperator ( public static void Main(string() args) ( int firstNumber = 10; int secondNumber = 20; int result; result = ~firstNumber; Console.WriteLine("~(0) = (1)", firstNumber, result); result = firstNumber & secondNumber; Console.WriteLine("(0) & (1) = (2)", firstNumber,secondNumber, result); result = firstNumber | secondNumber; Console.WriteLine("(0) | (1) = (2)", firstNumber,secondNumber, result); result = firstNumber secondNumber; Console.WriteLine("(0) (1) = (2)", firstNumber,secondNumber, result); result = firstNumber << 2; Console.WriteLine("(0) <> 2; Console.WriteLine("(0)>> 2 = (1)", firstNumber, result); ) ) )
Когда мы запустим программу, вывод будет:
~ 10 = -11 10 & 20 = 0 10 | 20 = 30 10 20 = 30 10 <> 2 = 2
Чтобы узнать больше, посетите C # Побитовый оператор и оператор битового сдвига.
8. Операторы составного присваивания
Составные операторы присваивания C #Оператор | Имя оператора | пример | Эквивалентно |
---|---|---|---|
+ = | Дополнение Назначение | x += 5 | x = x + 5 |
знак равно | Присваивание вычитания | x -= 5 | x = x - 5 |
знак равно | Присваивание умножения | x *= 5 | x = x * 5 |
знак равно | Назначение дивизиона | x /= 5 | x = x / 5 |
знак равно | Присвоение по модулю | x %= 5 | x = x % 5 |
знак равно | Побитовое И присваивание | x &= 5 | x = x & 5 |
| = | Побитовое ИЛИ присваивание | x |= 5 | x = x | 5 |
= | Побитовое присвоение XOR | x ^= 5 | x = x 5 |
<< = | Назначение сдвига влево | x <<= 5 | x = x << 5 |
>> = | Назначение сдвига вправо | x>>= 5 | x = x>> 5 |
=> | Лямбда-оператор | x => x*x | Returns x*x |
Пример 9: Оператор составного присваивания
using System; namespace Operator ( class BitOperator ( public static void Main(string() args) ( int number = 10; number += 5; Console.WriteLine(number); number -= 3; Console.WriteLine(number); number *= 2; Console.WriteLine(number); number /= 3; Console.WriteLine(number); number %= 3; Console.WriteLine(number); number &= 10; Console.WriteLine(number); number |= 14; Console.WriteLine(number); number ^= 12; Console.WriteLine(number); number <>= 3; Console.WriteLine(number); ) ) )
Когда мы запустим программу, вывод будет:
15 12 24 8 2 2 14 2 8 1
Мы обсудим лямбда-операторы в следующем руководстве.