W tym artykule dowiemy się wszystkiego o różnych typach operatorów w języku programowania C # oraz o tym, jak ich używać.
Operatory to symbole używane do wykonywania operacji na operandach. Operandy mogą być zmiennymi i / lub stałymi.
Na przykład in 2+3
, +
jest operatorem używanym do wykonywania operacji dodawania, podczas gdy 2
i 3
są operandami.
Operatory służą do manipulowania zmiennymi i wartościami w programie. C # obsługuje wiele operatorów, które są klasyfikowane na podstawie typu wykonywanych operacji.
1. Podstawowy operator przypisania
Podstawowy operator przypisania (=) służy do przypisywania wartości zmiennym. Na przykład,
podwójne x; x = 50,05;
Tutaj 50,05 jest przypisane do x.
Przykład 1: Podstawowy operator przypisania
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); ) ) )
Kiedy uruchomimy program, wynik będzie:
Pierwsza liczba = 10 Druga liczba = 10
To jest prosty przykład, który demonstruje użycie operatora przypisania.
Być może zauważyłeś w przykładzie użycie nawiasów klamrowych ( )
. Omówimy je w formatowaniu ciągów. Na razie pamiętaj, że (0)
jest zastępowana przez pierwszą zmienną, która następuje po ciągu znaków, (1)
jest zastępowana przez drugą zmienną i tak dalej.
2. Operatory arytmetyczne
Operatory arytmetyczne służą do wykonywania operacji arytmetycznych, takich jak dodawanie, odejmowanie, mnożenie, dzielenie itp.
Na przykład,
int x = 5; int y = 10; int z = x + y; // z = 15Operatory arytmetyczne C #
Operator | Imię operatora | Przykład |
---|---|---|
+ | Operator dodawania | 6 + 3 daje 9 |
- | Operator odejmowania | 10 - 6 daje 4 |
* | Operator mnożenia | 4 * 2 daje 8 |
/ | Operator dywizji | 10/5 daje 2 |
% | Operator modulo (reszta) | 16% 3 daje 1 |
Przykład 2: Operatory arytmetyczne
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); ) ) )
Kiedy uruchomimy program, wynik będzie:
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
W powyższym przykładzie wykonywane są operacje arytmetyczne. W instrukcjach zmienne można zastąpić stałymi. Na przykład,
wynik = 4,5 + 2,7; // wynik będzie zawierał 7.2 result = firstNumber - 3.2; // wynik będzie zawierał 11.2
3. Operatory relacyjne
Operatory relacyjne służą do sprawdzania relacji między dwoma operandami. Jeśli relacja jest prawdziwa, wynik będzie true
, w przeciwnym razie spowoduje false
.
Operatory relacyjne są używane podczas podejmowania decyzji i pętli.
Operatory relacyjne języka C #Operator | Imię operatora | Przykład |
---|---|---|
== | Równy | 6 == 4 daje w wyniku fałsz |
> | Lepszy niż | 3> -1 daje w wyniku prawda |
< | Mniej niż | 5 <3 daje wartość fałsz |
> = | Większy lub równy | 4> = 4 daje wartość true |
<= | Mniejszy lub równy | 5 <= 3 daje w wyniku fałsz |
! = | Nie równa się | 10! = 2 daje w wyniku prawda |
Przykład 3: Operatory relacyjne
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); ) ) )
Kiedy uruchomimy program, wynik będzie:
10 == 20 zwraca False 10> 20 zwraca False 10 = 20 zwraca False 10 <= 20 zwraca True 10! = 20 zwraca True
4. Operatory logiczne
Operatory logiczne służą do wykonywania operacji logicznych takich jak and
, or
. Operatory logiczne działają na wyrażeniach boolowskich ( true
i false
) i zwracają wartości boolowskie. Operatory logiczne są używane podczas podejmowania decyzji i pętli.
Oto jak wynik jest oceniany dla logiki AND
i OR
operatorów.
Argument 1 | Operand 2 | LUB (||) | I (&&) |
---|---|---|---|
prawdziwe | prawdziwe | prawdziwe | prawdziwe |
prawdziwe | fałszywy | prawdziwe | fałszywy |
fałszywy | prawdziwe | prawdziwe | fałszywy |
fałszywy | fałszywy | fałszywy | fałszywy |
W prostych słowach tabelę można podsumować jako:
- Jeśli jeden z operandów jest prawdziwy,
OR
operator obliczy gotrue
. - Jeśli jeden z operandów jest fałszywy,
AND
operator obliczy go dofalse
.
Przykład 4: Operatory logiczne
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); ) ) )
Kiedy uruchomimy program, wynik będzie:
Prawda fałsz
5. Operatory jednoargumentowe
W przeciwieństwie do innych operatorów, operatory jednoargumentowe działają na jednym operandzie.
Operatory jednoargumentowe C #Operator | Imię operatora | Opis |
---|---|---|
+ | Unary Plus | Pozostawia znak operandu takim, jaki jest |
- | Jednoargumentowy minus | Odwraca znak operandu |
++ | Przyrost | Zwiększ wartość o 1 |
- | Zmniejszenie | Zmniejsz wartość o 1 |
! | Logiczna negacja (nie) | Odwraca wartość logiczną |
Przykład 5: Operatory jednoargumentowe
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)); ) ) )
Kiedy uruchomimy program, wynik będzie:
+ liczba = 10 - liczba = -10 ++ liczba = 11 - liczba = 10! flaga = fałsz
Operatory inkrementacji (++)
i dekrementacji (--)
mogą być używane jako prefiks i postfiks. Jeśli jest używany jako przedrostek, zmiana wartości zmiennej jest widoczna w tym samym wierszu, a jeśli jest używana jako przyrostek, zmiana wartości zmiennej jest widoczna w następnym wierszu. Będzie to jasne na poniższym przykładzie.
Przykład 6: operatory post i preinkrementacja w 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)); ) ) )
Kiedy uruchomimy program, wynik będzie:
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;
Operator trójskładnikowy działa w następujący sposób:
- Jeśli wyrażenie określone przez Warunek to
true
, wynik Wyrażenie1 jest przypisywany do zmiennej. - Jeśli tak
false
, wynik Expression2 jest przypisywany do zmiennej.
Przykład 7: Operator trójskładnikowy
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); ) ) )
Kiedy uruchomimy program, wynik będzie:
10 to liczba parzysta
Aby dowiedzieć się więcej, odwiedź stronę operatora trójskładnikowego języka C #.
7. Operatory bitowe i bitowe
Operatory bitowe i operatory przesunięcia bitów są używane do wykonywania operacji na bitach.
Operatory bitowe i przesunięcie bitowe języka C #Operator | Imię operatora |
---|---|
~ | Uzupełnienie bitowe |
& | Bitowe i |
| | Bitowe OR |
^ | Wyłączny lub bitowy LUB |
<< | Przesunięcie bitowe w lewo |
>> | Bitowe przesunięcie w prawo |
Przykład 8: operator bitowy i przesunięcia bitowego
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); ) ) )
Kiedy uruchomimy program, wynik będzie:
~ 10 = -11 10 i 20 = 0 10 | 20 = 30 10 20 = 30 10 <> 2 = 2
Aby dowiedzieć się więcej, odwiedź C # operator bitowy i przesunięcie bitowe.
8. Operatory przypisania złożonego
C # złożone operatory przypisaniaOperator | Imię operatora | Przykład | Równoważny |
---|---|---|---|
+ = | Przypisanie dodatku | x += 5 | x = x + 5 |
- = | Przypisanie odejmowania | x -= 5 | x = x - 5 |
* = | Przypisywanie mnożenia | x *= 5 | x = x * 5 |
/ = | Przypisanie działu | x /= 5 | x = x / 5 |
% = | Przypisanie modulo | x %= 5 | x = x % 5 |
& = | Przypisanie bitowe AND | x &= 5 | x = x & 5 |
| = | Przypisanie bitowe LUB | x |= 5 | x = x | 5 |
= | Bitowe przypisanie XOR | x ^= 5 | x = x 5 |
<< = | Przypisanie lewego przesunięcia | x <<= 5 | x = x << 5 |
>> = | Przypisanie prawego przesunięcia | x>>= 5 | x = x>> 5 |
=> | Operator lambda | x => x*x | Returns x*x |
Przykład 9: Operator przypisania złożonego
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); ) ) )
Kiedy uruchomimy program, wynik będzie:
15 12 24 8 2 2 14 2 8 1
O operatorach Lambda będziemy mówić w późniejszym tutorialu.