Πίνακας περιεχομένων:
Ορισμός - Τι σημαίνει ο υπό όρους χειριστής;
Ένας τελεστής υπό όρους στο C #, είναι ένας χειριστής που παίρνει τρεις τελεστές (όροι που πρέπει να ελεγχθούν), η τιμή όταν η συνθήκη είναι αληθής και τιμή όταν η συνθήκη είναι ψευδής.
Ένας υπό όρους χειριστής αντιπροσωπεύεται από το σύμβολο '?:'. Ο πρώτος τελεστής (που καθορίστηκε πριν από το '?:') Είναι η έκφραση αξιολόγησης (υπό όρους). Πρέπει να είναι τέτοια ώστε ο τύπος της εκτιμώμενης έκφρασης να μετατρέπεται σιωπηρά σε «bool» ή να εφαρμόζει τον χειριστή αληθινό, ώστε να αποφεύγονται σφάλματα σύνταξης. Ο δεύτερος και ο τρίτος τελεστές ελέγχουν τον τύπο της υπό όρους έκφρασης. Χρησιμοποιείται συχνότερα στην ανάθεση και όχι ως δήλωση που δημιουργεί σφάλματα σύνταξης.
Εάν η τιμή επιστροφής του πρώτου τελεστή (conditional expression) είναι αληθής, αξιολογείται ο δεύτερος τελεστής. Διαφορετικά, αξιολογείται ο τρίτος τελεστής. Ως εκ τούτου, το αποτέλεσμα του τελεστή υπό όρους είναι το αποτέλεσμα της αξιολόγησης της έκφρασης που εξετάζεται για αξιολόγηση.
Για μια έκφραση που δηλώνεται ως xa: b, ο operand a θα αξιολογηθεί εάν μόνο ο τελεστής x (η υπό όρους έκφραση) επιστρέφει true. Διαφορετικά, θα αξιολογηθεί ο τελεστής b.
Ο όρος αυτός είναι επίσης γνωστός ως τριμερής χειριστής ή εν σειρά εάν (iif).
Η Techopedia εξηγεί τον υπό όρους χειριστή
Ένας υπό όρους χειριστής είναι ο μοναδικός τετραγωνικός χειριστής (παίρνοντας τρεις τελεστές) στο C #. Δημιουργείται ως εναλλακτική λύση στην κατασκευή if-else, η οποία παρέχει καλύτερη συνοπτικότητα με λιγότερο κώδικα και καλύτερη αναγνωσιμότητα. Κατά τη διάρκεια της σύνταξης, ο μεταγλωττιστής C # μεταφράζει την τριμερή έκφραση σε δηλώσεις κλάδου, οι οποίες μπορούν να συμπυκνώσουν πολλαπλές δηλώσεις και να μειώσουν την ένθεση στο επίπεδο του πηγαίου κώδικα. Μερικές φορές, ο κώδικας που παράγεται για έναν τριμελή φορέα μπορεί να αυξήσει την απόδοση ανακατατάσσοντας ορισμένες από τις οδηγίες.
Οι ιδιότητες ενός υπό όρους χειριστή είναι:
- Είναι δεξιόστροφη, υπονοώντας ότι οι λειτουργίες ομαδοποιούνται από δεξιά προς τα αριστερά.
- Αξιολογεί πάντοτε μία από τις δύο εκφράσεις που καθορίζονται μετά το σύμβολο υπό όρους χειριστή. Ποτέ δεν αξιολογεί και τα δύο.
- Ο πρώτος τελεστής πρέπει να είναι ενσωματωμένος ή τύπου δείκτη.
- Ο δεύτερος και ο τρίτος τελεστές πρέπει να είναι μετατρέψιμοι μεταξύ τους και να μην μπορούν να μετατραπούν σε κάποιο άλλο τύπο.
- Ο τύπος του αποτελέσματος είναι ο κοινός τύπος, ο οποίος είναι μια τιμή l, αλλά μόνο αν και ο δεύτερος και ο τρίτος τελεστές είναι του ίδιου τύπου και και οι δύο είναι οι l-τιμές.
- Μόνο η κλήση ανάθεσης, η αύξηση, η μείωση και η έκφραση νέου αντικειμένου μπορούν να χρησιμοποιηθούν ως δήλωση.
- Όταν το αποτέλεσμα μιας αξιολόγησης μιας έκφρασης με χρήση τριμερούς φορέα χρησιμοποιείται σε μια δήλωση επιστροφής μεθόδου, ο τύπος της θα πρέπει να ταιριάζει με τον τύπο επιστροφής της μεθόδου που περικλείει την επιτυχημένη σύνταξη.
- Όταν το αποτέλεσμα δεν είναι σταθερό, ο τύπος της υπό όρους έκφρασης βασίζεται στον πιο συνηθισμένο από τους δύο τύπους.