Πώς να χρησιμοποιήσετε τελεστές Nullish Coalescing (??) και Nullish Coalescing Assignment (??=) στο C#

Pos Na Chresimopoiesete Telestes Nullish Coalescing Kai Nullish Coalescing Assignment Sto C



Η γλώσσα προγραμματισμού C# υποστηρίζει πολλούς τελεστές που μπορούν να χρησιμοποιηθούν για την εκτέλεση διαφόρων πράξεων σε μεταβλητές, εκφράσεις και δηλώσεις. Δύο από τους τελεστές που χρησιμοποιούνται συνήθως στην C# είναι ?? και ??=. Αυτοί οι τελεστές χρησιμοποιούνται για την παροχή προεπιλεγμένων τιμών σε μεταβλητές και βοηθούν στην απλοποίηση του κώδικα και στη μείωση πιθανών σφαλμάτων.

Αυτό το άρθρο θα συζητήσει τι είναι αυτοί οι τελεστές και πώς μπορούν να χρησιμοποιηθούν στον προγραμματισμό 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.