Der neue PowerShell-Operator ??
liefert den Wert des vorangestellten Ausdrucks, wenn dieser nicht $null ist.
Der "Null Coalescing Operator" ??
, den es in C# schon seit 2005, in PowerShell aber erst ab Version 7.0 gibt, liefert den Wert des vorangestellten Ausdrucks, wenn dieser nicht $null
ist. Wenn der Wert $null
ist, wird der Wert des nachfolgenden Ausdrucks übergeben. Somit kann man auf elegante Weise den Null-Fall in einen anderen Wert umwandeln:
$name = $name ?? "n/a"
In PowerShell 1.0 bis 6.2 musste man länger schreiben:
if ($name -eq $null) { $name = "n/a"}
()