Операторы С#
Операторы C#
В этой статье мы узнаем все о различных типах операторов в языке программирования C# и о том, как их использовать.
Операторы — это символы, которые используются для выполнения операций над операндами. Операнды могут быть переменными и/или константами.
Например , в 2+3
, +
— это оператор, который используется для выполнения операции сложения, а 2
и 3
являются операндами.
Операторы используются для управления переменными и значениями в программе. C# поддерживает ряд операторов, которые классифицируются в зависимости от типа выполняемых ими операций.
<час>1. Базовый оператор присваивания
Базовый оператор присваивания (=) используется для присвоения значений переменным. Например,
double x; 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);
}
}
}
Когда мы запустим программу, вывод будет таким:
First Number = 10 Second Number = 10
Это простой пример, демонстрирующий использование оператора присваивания.
Вы могли заметить использование фигурных скобок { }
в примере. Мы обсудим их в разделе форматирование строк. . А пока просто имейте в виду, что {0}
заменяется первой переменной, следующей за строкой, {1}
заменяется второй переменной и так далее.
2. Арифметические операторы
Арифметические операторы используются для выполнения арифметических операций, таких как сложение, вычитание, умножение, деление и т. д.
Например,
int x = 5; int y = 10; int z = x + y;// z = 15
Оператор | Имя оператора | Пример |
---|---|---|
+ | Оператор сложения | 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
Арифметические операции выполняются в приведенном выше примере. Переменные могут быть заменены константами в операторах. Например,
result = 4.5 + 2.7 ; // result will hold 7.2 result = firstNumber - 3.2; // result will hold 11.2<час>
3. Реляционные операторы
Реляционные операторы используются для проверки отношения между двумя операндами. Если связь верна, результатом будет true
, иначе это приведет к false
.
Реляционные операторы используются при принятии решений и циклах.
Оператор | Имя оператора | Пример |
---|---|---|
== | Равно | 6 ==4 оценивается как false |
> | Больше, чем | 3> -1 оценивается как true |
< | Меньше чем | 5 <3 оценивается как false |
>= | Больше или равно | 4>=4 оценивается как true |
<= | Меньше или равно | 5 <=3 оценивается как false |
!= | Не равно | 10 !=2 оценивается как true |
Пример 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} < {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);
result = (firstNumber != secondNumber);
Console.WriteLine("{0} != {1} returns {2}",firstNumber, secondNumber, result);
}
}
}
Когда мы запустим программу, вывод будет таким:
10 == 20 returns False 10 > 20 returns False 10 < 20 returns True 10 >= 20 returns False 10 <= 20 returns True 10 != 20 returns 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);
}
}
}
Когда мы запустим программу, вывод будет таким:
True False<час>
5. Унарные операторы
В отличие от других операторов, унарные операторы работают с одним операндом.
Оператор | Имя оператора | Описание |
---|---|---|
+ | Унарный Плюс | Оставляет знак операнда без изменений |
- | Унарный минус | Инвертирует знак операнда |
++ | Приращение | Увеличить значение на 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));
}
}
}
Когда мы запустим программу, вывод будет таким:
+number = 10 -number = -10 ++number = 11 --number = 10 !flag = False
Приращение (++)
и уменьшить (--)
операторы могут использоваться как префикс и постфикс. При использовании в качестве префикса изменение значения переменной отображается в той же строке, а при использовании в качестве постфикса изменение значения переменной отображается в следующей строке. Это будет ясно из приведенного ниже примера.
Пример 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
Мы видим эффект от использования ++
. как префикс и постфикс. Когда ++
используется после операнда, значение сначала оценивается, а затем увеличивается на 1
. Отсюда утверждение
Console.WriteLine((number++));
печатает 10
вместо 11
. После того, как значение напечатано, значение числа увеличивается на 1
.
Процесс обратный, когда ++
используется как префикс. Значение увеличивается перед печатью. Отсюда утверждение
Console.WriteLine((++number));
печатает 12
.
То же самое и с оператором декремента (--)
.
6. Тернарный оператор
Тернарный оператор ? :
оперирует тремя операндами. Это сокращение от if-then-else
. утверждение. Тернарный оператор можно использовать следующим образом:
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 is Even Number
Чтобы узнать больше, посетите страницу Тернарный оператор C#. .
<час>7. Побитовые операторы и операторы побитового сдвига
Побитовые операторы и операторы сдвига битов используются для выполнения операций над битами.
Оператор | Имя оператора |
---|---|
~ | Побитовое дополнение |
& | Побитовое И |
| | Побитовое ИЛИ |
^ | Побитовое исключающее ИЛИ |
< | Побитовый сдвиг влево |
>> | Побитовый сдвиг вправо |
Пример 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 = {1}", firstNumber, result);
result = firstNumber >> 2;
Console.WriteLine("{0} >> 2 = {1}", firstNumber, result);
}
}
}
Когда мы запустим программу, вывод будет таким:
~10 = -11 10 & 20 = 0 10 | 20 = 30 10 ^ 20 = 30 10 << 2 = 40 10 >> 2 = 2
Чтобы узнать больше, посетите страницу Побитовый оператор C# и оператор битового сдвига. .
<час>8. Составные операторы присваивания
Оператор | Имя оператора | Пример | Эквивалент |
---|---|---|---|
+= | Дополнительное назначение | 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 <<= 2;
Console.WriteLine(number);
number >>= 3;
Console.WriteLine(number);
}
}
}
Когда мы запустим программу, вывод будет таким:
15 12 24 8 2 2 14 2 8 1
Мы обсудим лямбда-операторы. в следующем руководстве.
Язык C