PowerShell 7: Null Coalescing Operator ??

Der neue PowerShell-Operator ?? liefert den Wert des vo­rangestellten Ausdrucks, wenn dieser nicht $null ist.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Lesezeit: 1 Min.
Von
  • Dr. Holger Schwichtenberg

Der neue PowerShell-Operator ?? liefert den Wert des vo­rangestellten 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 vo­rangestellten 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"} ()