C # Τελεστές: Αριθμητική, Σύγκριση, Λογική και άλλα.

Σε αυτό το άρθρο, θα μάθουμε τα πάντα σχετικά με διαφορετικούς τύπους τελεστών στη γλώσσα προγραμματισμού C # και πώς να τα χρησιμοποιήσουμε.

Οι τελεστές είναι σύμβολα που χρησιμοποιούνται για την εκτέλεση λειτουργιών σε τελεστές. Οι τελεστές μπορεί να είναι μεταβλητές και / ή σταθερές.

Για παράδειγμα , στο 2+3, +είναι ένας τελεστής που χρησιμοποιείται για τη διεξαγωγή λειτουργίας προσθήκης, ενώ είναι 2και 3είναι τελεστές.

Οι χειριστές χρησιμοποιούνται για τον χειρισμό μεταβλητών και τιμών σε ένα πρόγραμμα. Το C # υποστηρίζει έναν αριθμό τελεστών που ταξινομούνται με βάση τον τύπο των λειτουργιών που εκτελούν.

1. Βασικός χειριστής ανάθεσης

Ο βασικός χειριστής ανάθεσης (=) χρησιμοποιείται για την εκχώρηση τιμών σε μεταβλητές. Για παράδειγμα,

διπλό 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); ) ) ) 

Όταν εκτελούμε το πρόγραμμα, η έξοδος θα είναι:

 Πρώτος αριθμός = 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
% Modulo Operator (Υπόλοιπο) Το 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 αποτέλεσμα = πρώτο αριθμό - 3.2; // το αποτέλεσμα θα κρατήσει 11.2

3. Σχεσιακοί χειριστές

Οι σχετικοί τελεστές χρησιμοποιούνται για να ελέγξουν τη σχέση μεταξύ δύο τελεστών. Εάν η σχέση είναι αληθινή, το αποτέλεσμα θα είναι true, διαφορετικά θα οδηγήσει σε false.

Οι σχετικοί χειριστές χρησιμοποιούνται στη λήψη αποφάσεων και βρόχους.

C # Σχεσιακοί χειριστές
Χειριστής Όνομα χειριστή Παράδειγμα
== Ισο με 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) = 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τελεστές.

C # Λογικοί τελεστές
Λειτουργία 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. Unary χειριστές

Σε αντίθεση με άλλους χειριστές, οι unary τελεστές λειτουργούν σε έναν μόνο τελεστή.

C # unary τελεστές
Χειριστής Όνομα χειριστή Περιγραφή
+ Unary Plus Αφήνει το σημάδι του τελεστή όπως είναι
- Unary μείον Αντιστρέφει το σύμβολο του τελεστή
++ Αύξηση Αύξηση κατά 1
- Μείωση Τιμή μείωσης κατά 1
! Λογική άρνηση (Όχι) Αντιστρέφει την τιμή ενός boolean

Παράδειγμα 5: Unary χειριστές

 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! flag = False

Οι τελεστές αύξησης (++)και μείωσης (--)μπορούν να χρησιμοποιηθούν ως πρόθεμα και μετά την επιδιόρθωση. Εάν χρησιμοποιείται ως πρόθεμα, η αλλαγή στην τιμή της μεταβλητής φαίνεται στην ίδια γραμμή και εάν χρησιμοποιείται ως μετά την επιδιόρθωση, η αλλαγή στην τιμή της μεταβλητής εμφανίζεται στην επόμενη γραμμή. Αυτό θα είναι σαφές με το παρακάτω παράδειγμα.

Παράδειγμα 6: Τελεστές μετά και προαύξησης στο 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;

Ο τριαδικός χειριστής λειτουργεί ως εξής:

  • Εάν η έκφραση που δηλώνεται από την κατάσταση είναι true, το αποτέλεσμα της έκφρασης1 αντιστοιχεί στη μεταβλητή.
  • Εάν είναι false, το αποτέλεσμα του Expression2 αντιστοιχεί στη μεταβλητή.

Παράδειγμα 7: Ternary Operator

 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 # ternary operator.

7. Χειριστές Bitwise και Bit Shift

Οι τελεστές bitwise και bit shift χρησιμοποιούνται για την εκτέλεση χειρισμών bit.

C # Bitwise και Bit Shift τελεστές
Χειριστής Όνομα χειριστή
~ Συμπλήρωμα Bitwise
& Bitwise ΚΑΙ
| Bitwise Ή
^ Αποκλειστικό Bitwise Ή
<< Bitwise Left Shift
>> Bitwise Right Shift

Παράδειγμα 8: Bitwise και Bit Shift Operator

 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 # Compound Assignment Operator
Χειριστής Όνομα χειριστή Παράδειγμα Ισοδυναμεί με
+ = Αντιστοίχιση προσθήκης x += 5 x = x + 5
- = Ανάθεση αφαίρεσης x -= 5 x = x - 5
* = Εκχώρηση πολλαπλασιασμού x *= 5 x = x * 5
/ = Ανάθεση τμήματος x /= 5 x = x / 5
% = Εργασία Modulo x %= 5 x = x % 5
& = Bitwise AND Assignment x &= 5 x = x & 5
| = Bitwise Ή ανάθεση x |= 5 x = x | 5
= Εργασία Bitwise XOR x ^= 5 x = x 5
<< = Αντιστοίχιση αριστερού βάρδιου x <<= 5 x = x << 5
>> = Ανάθεση δεξιάς αλλαγής x>>= 5 x = x>> 5
=> Χειριστής Lambda 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

Θα συζητήσουμε για τους χειριστές Lambda σε μεταγενέστερο σεμινάριο.

ενδιαφέροντα άρθρα...