Utilizzare il Null conditional assignment di C# 14

di Stefano Mostarda, in .NET Framework,

C# 6 ha introdotto il null conditional operator, detto anche Elvis operator. Tramite il carattere "?" abbiamo potuto scrivere espressioni di controllo senza doverci preoccupare se la variabile contenesse null o l'istanza di un oggetto. Ad esempio abbiamo potuto scrivere cose tipo la seguente.

private void Methdod(MyObj instance)
{
  if (instance?.prop?.Value >= 0)
  {
     throw new Exception();
  }
}

In questo caso, se instance o la sua proprietà prop sono null, non otteniamo nessun errore a runtime e l'espressione torna null.
Un limite di questo operatore sino alla versione 13 è che il suo fnzionamento è in sola lettura ovvero non si può assegnare un vaore a Value. Dalla versione 14 è invece possibile usarlo anche in scrittura delle variabili. Riprendendo l'esempio precedente, adesso possiamo scrivere il seguente codice.

instance?.prop?.Value = 10;

Il risultato è che se instance e prop sono valorizzate, allora verrà assegnato il valore 10 a value, altrimenti l'istruzione verrà semplicemente ignorata.

Commenti

Visualizza/aggiungi commenti

| Condividi su: LinkedIn, Facebook

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi