Σε αυτό το άρθρο, θα μάθουμε για τον Τ # τρισδιάστατο χειριστή και πώς να το χρησιμοποιήσουμε για τον έλεγχο της ροής του προγράμματος.
Ο χειριστής Ternary είναι ένα υποκατάστατο της δήλωσης if … else. Επομένως, προτού προχωρήσετε περαιτέρω σε αυτό το σεμινάριο, διαβάστε τη δήλωση C # if… else (εάν δεν το έχετε κάνει).
Η σύνταξη του τριμερούς τελεστή είναι:
Κατάσταση ? Έκφραση1: Έκφραση2;
Ο τριαδικός χειριστής λειτουργεί ως εξής:
- Εάν η έκφραση που δηλώνεται από
Condition
είναιtrue
, το αποτέλεσμα τουExpression1
επιστρέφεται από τον τριμερή τελεστή. - Εάν είναι
false
, το αποτέλεσμαExpression2
επιστρέφεται.
Για παράδειγμα, μπορούμε να αντικαταστήσουμε τον ακόλουθο κωδικό
εάν (αριθμός% 2 == 0) (isEven = true;) άλλο (isEven = false;)
με
isEven = (αριθμός% 2 == 0); Σωστό Λάθος ;
Γιατί ονομάζεται τριαδικός χειριστής;
Αυτό χειριστής παίρνει 3 τελεστή , εξ ου και ονομάζεται τριαδικό φορέα.
Παράδειγμα 1: C # Ternary Operator
using System; namespace Conditional ( class Ternary ( public static void Main(string() args) ( int number = 2; bool isEven; isEven = (number % 2 == 0) ? true : false ; Console.WriteLine(isEven); ) ) )
Όταν εκτελούμε το πρόγραμμα, η έξοδος θα είναι:
Αληθής
Στο παραπάνω πρόγραμμα, 2
αντιστοιχεί σε έναν μεταβλητό αριθμό. Στη συνέχεια, ο τριαδικός χειριστής χρησιμοποιείται για να ελέγξει εάν ο αριθμός είναι ομαλός ή όχι.
Εφόσον, το 2 είναι ζυγό, η έκφραση ( number % 2 == 0
) επιστρέφει true
. Μπορούμε επίσης να χρησιμοποιήσουμε τον τριμερή τελεστή για να επιστρέψουμε αριθμούς, συμβολοσειρές και χαρακτήρες.
Αντί να αποθηκεύουμε την τιμή επιστροφής στη μεταβλητή είναι ακόμη, μπορούμε να εκτυπώσουμε απευθείας την τιμή που επιστρέφεται από τον τριμερή φορέα ως
Console.WriteLine ((number% 2 == 0)? True: false);
Πότε να χρησιμοποιήσετε τον τριμερή χειριστή;
Το Ternary operator μπορεί να χρησιμοποιηθεί για την αντικατάσταση πολλών γραμμών κώδικα με μία μόνο γραμμή. Ωστόσο, δεν πρέπει να το χρησιμοποιούμε υπερβολικά.
Για παράδειγμα, μπορούμε να αντικαταστήσουμε τα ακόλουθα αν… αλλιώς εάν κωδικοποιήσουμε
αν (a> b) (αποτέλεσμα = "a είναι μεγαλύτερο από b";) αλλιώς εάν (a <b) (αποτέλεσμα = "b είναι μεγαλύτερο από ένα";) άλλο (αποτέλεσμα = "a είναι ίσο με b";)
με μία μόνο γραμμή κώδικα
αποτέλεσμα = α> β; "a είναι μεγαλύτερο από το b": a <b? "b είναι μεγαλύτερο από ένα": "a είναι ίσο με b";
Όπως μπορούμε να δούμε, η χρήση τριαδικού τελεστή μπορεί να μειώσει το μήκος του κώδικα, αλλά μας κάνει δύσκολο να κατανοήσουμε τη λογική του κώδικα.
Ως εκ τούτου, είναι καλύτερο να χρησιμοποιείτε μόνο τριμερή τελεστή για να αντικαταστήσετε απλές, αν όχι, δηλώσεις.