C# - Che cos'è l'operatore di assegnazione a coalescenza null "??="?

C# - Che cos'è l'operatore di assegnazione a coalescenza null "??="?

Quasi 5 anni fa ho pubblicato un post sull'operatore condizionale nullo (?:) in C#. Ora sto seguendo una serie su diversi operatori. Questo post è sull'operatore di assegnazione a coalescenza Null (??=).

L'operatore di assegnazione null-coalescing semplifica l'assegnazione di un nuovo valore a una variabile se è nulla. Controlla l'operando di sinistra e se è nullo gli assegna l'operando di destra. Un esempio di questo può essere visto sotto dove s è "SomeValue" e k è nullo quindi k diventa "SomeValue" when the Viene utilizzato l'operatore ??=`:

string s = "SomeValue";
string k = null;
k ??= s;
Assert.Equal("SomeValue", k);

Aveva k non fosse stato nullo avrebbe mantenuto il suo valore:

string s = "SomeValue";
string k = "AnotherValue";
k ??= s;
Assert.Equal("AnotherValue", k);

Spero che tu abbia trovato utile questo post sull'operatore ??=, fammi sapere cosa ne pensi nei commenti in basso :)

Maggiori informazioni sugli operatori dal mio blog:

  • C# - Che cos'è l'operatore di intervallo [x..y]?
  • C# - Qual è il "???" operatore di coalescenza nullo?
  • C# - Che cos'è l'operatore di assegnazione "??=" con coalescenza nulla?
  • C# - Qual è la differenza tra | e || operatore o &e &&operatore