В тази статия ще научим всичко за различните видове оператори в програмния език C # и как да ги използваме.
Операторите са символи, които се използват за извършване на операции върху операнди. Операндите могат да бъдат променливи и / или константи.
Така например , в 2+3
, +
е оператор, който се използва за извършване на операция Освен това, макар 2
и да 3
са операнди.
Операторите се използват за манипулиране на променливи и стойности в програма. C # поддържа редица оператори, които са класифицирани въз основа на типа операции, които извършват.
1. Основен оператор за възлагане
Основният оператор за присвояване (=) се използва за присвояване на стойности на променливи. Например,
двойно х; х = 50,05;
Тук на x е присвоено 50.05.
Пример 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 = 15C # Аритметични оператори
Оператор | Име на оператора | Пример |
---|---|---|
+ | Оператор за добавяне | 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 резултат = firstNumber - 3.2; // резултатът ще се проведе 11.2
3. Релационни оператори
Релационните оператори се използват за проверка на връзката между два операнда. Ако връзката е вярна, резултатът ще бъде true
, в противен случай ще доведе до false
.
Релационните оператори се използват при вземането на решения и цикли.
C # релационни операториОператор | Име на оператора | Пример |
---|---|---|
== | Равна на | 6 == 4 оценява на false |
> | По-голяма от | 3> -1 оценява на истина |
< | По-малко от | 5 <3 оценява на false |
> = | По-голямо или равно на | 4> = 4 оценява на истина |
<= | По-малко или равно на | 5 <= 3 оценява на false |
! = | Не е равно на | 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
. - Ако един от операндите е false,
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 # унарни операториОператор | Име на оператора | Описание |
---|---|---|
+ | Unary Plus | Оставя знака на операнда такъв, какъвто е |
- | Унарни минус | Обръща знака на операнда |
++ | Прирастване | Увеличаване на стойността с 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 # Побитови и Bit Shift операториОператор | Име на оператора |
---|---|
~ | Побитово допълнение |
& | Побитово И |
| | Побитово ИЛИ |
^ | Изключително побитово ИЛИ |
<< | Побитово ляво изместване |
>> | Побитово дясно изместване |
Пример 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 # Bitwise и Bit Shift оператор.
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
Ще обсъдим ламбда операторите в следващия урок.