C# Language Fallimento nullo e concatenamento


Esempio

L'operando di sinistra deve essere annullabile, mentre l'operando di destra può essere o meno. Il risultato verrà digitato di conseguenza.

Non annullabile

int? a = null;
int b = 3;
var output = a ?? b;
var type = output.GetType();  

Console.WriteLine($"Output Type :{type}");
Console.WriteLine($"Output value :{output}");

Produzione:

Tipo: System.Int32
valore: 3

Visualizza la demo

nullable

int? a = null;
int? b = null;
var output = a ?? b;

output sarà di tipo int? e uguale a b , o null .

Coalescenza multipla

La coalescenza può anche essere eseguita in catene:

int? a = null;
int? b = null;
int c = 3;
var output = a ?? b ?? c;

var type = output.GetType();    
Console.WriteLine($"Type :{type}");
Console.WriteLine($"value :{output}");

Produzione:

Tipo: System.Int32
valore: 3

Visualizza la demo

Concatenamento condizionale nullo

L'operatore null coalescing può essere utilizzato in tandem con l' operatore di propagazione null per fornire un accesso più sicuro alle proprietà degli oggetti.

object o = null;
var output = o?.ToString() ?? "Default Value";

Produzione:

Tipo: System.String
valore: valore predefinito

Visualizza la demo