Αυτό το άρθρο θα συζητήσει τι είναι αυτοί οι τελεστές και πώς μπορούν να χρησιμοποιηθούν στον προγραμματισμό C#.
Τι είναι ?? Χειριστής σε C#;
ο ?? Ο τελεστής, επίσης γνωστός ως τελεστής μηδενικής συνένωσης, χρησιμοποιείται για την παροχή μιας προεπιλεγμένης τιμής σε έναν τύπο μηδενιζόμενης τιμής ή έναν τύπο αναφοράς που μπορεί να είναι μηδενικός. Ο τελεστής επιστρέφει τον αριστερό τελεστή εάν δεν είναι μηδενικός. Διαφορετικά, επιστρέφει τον δεξιό τελεστή, επιπλέον υπάρχει ένα παράδειγμα χρήσης αυτού του τελεστή στο C#:
χρησιμοποιώντας το Σύστημα ;
Πρόγραμμα τάξης
{
στατικός κενός Κύριος ( σειρά [ ] args )
{
ενθ ? Χ = μηδενικό ;
ενθ και = Χ ?? 3 ;
Κονσόλα. WriteLine ( και ) ;
}
}
Σε αυτό το παράδειγμα, ορίσαμε μια μηδενική ακέραια μεταβλητή x και της εκχωρήσαμε μια μηδενική τιμή και στη συνέχεια χρησιμοποιήσαμε το ?? τελεστής να παρέχει μια προεπιλεγμένη τιμή 3 στη μεταβλητή y εάν το a είναι null. Εφόσον το a είναι μηδενικό, η τιμή του y ορίζεται σε 3.
Τι είναι αυτό ??= Operator σε C#
ο ??= Ο τελεστής είναι ένας συντομογραφικός τελεστής που συνδυάζει τον τελεστή null-coalescing ?? και ο τελεστής ανάθεσης =. Χρησιμοποιείται για την εκχώρηση τιμής σε μια μεταβλητή μόνο εάν η μεταβλητή είναι null και εάν η μεταβλητή έχει ήδη μια τιμή, τότε η λειτουργία εκχώρησης δεν εκτελείται, εδώ είναι ένα παράδειγμα χρήσης του τελεστή ??= στο C#:
χρησιμοποιώντας το Σύστημα ;
Πρόγραμμα τάξης
{
στατικός κενός Κύριος ( σειρά [ ] args )
{
ενθ ? Χ = μηδενικό ;
Χ ??= 3 ;
Κονσόλα. WriteLine ( Χ ) ;
Χ ??= 4 ;
Κονσόλα. WriteLine ( Χ ) ;
}
}
Σε αυτό το παράδειγμα, ορίσαμε μια μηδενική ακέραια μεταβλητή x και της εκχωρήσαμε μια τιμή null και στη συνέχεια χρησιμοποιήσαμε τον τελεστή ??= για να εκχωρήσουμε μια τιμή 3 στη μεταβλητή a αφού είναι null. Η πρώτη δήλωση WriteLine() εξάγει την τιμή του x, που είναι 3 και στη συνέχεια χρησιμοποιεί ξανά τον τελεστή ??= για να εκχωρήσει μια τιμή 4 στη μεταβλητή x. Ωστόσο, δεδομένου ότι το x έχει ήδη τιμή 3, η λειτουργία εκχώρησης δεν εκτελείται, επομένως η δεύτερη πρόταση WriteLine() εξάγει την τιμή του x, η οποία είναι ακόμα 3:
συμπέρασμα
Ο ?? και οι τελεστές ??= στο C# είναι χρήσιμοι τελεστές που απλοποιούν τον κώδικα και μειώνουν πιθανά σφάλματα παρέχοντας προεπιλεγμένες τιμές στις μεταβλητές. Ο ?? Ο τελεστής χρησιμοποιείται για την παροχή μιας προεπιλεγμένης τιμής σε έναν τύπο μηδενικής τιμής ή έναν τύπο αναφοράς που μπορεί να είναι μηδενικός. Ο τελεστής ??= είναι ένας συντομογραφικός τελεστής που συνδυάζει τον τελεστή null-coalescing ?? και ο τελεστής εκχώρησης =, και χρησιμοποιείται για την εκχώρηση τιμής σε μια μεταβλητή μόνο εάν η μεταβλητή είναι null.