[PowerShell 7] Null 合体演算子を使用してみる

PowerShell Core PowerShell
PowerShell Core

PowerShell 7 では Null 合体演算子が導入されました。

C# でも導入されている演算子です。

Null 合体演算子には 「??」と「??=」の2つがあります。

今回は、この2つの演算子の使用方法を紹介します。

?? 演算子

?? 演算子は「第1候補が Null だったら第2候補」のように複数項目の中から Null ではないものを順に探して取得したい場合に使用します。

第1候補 ?? 第2候補

以下は $x = $null、$y = “第2候補” としたときに ?? 演算子を使用する例です。

$x = $null
$y = "第2候補"
$x ?? $y

実行例を以下に示します。

?? 演算子の使用例1

?? 演算子の使用例1

?? 演算子は、1つの式の中で複数使用することができます。

以下は、$x = $null, $y = $null, $z = “第3候補” としたときに ?? 演算子を使用する例です。

$x = $null
$y = $null
$z = "第3候補"
$x ?? $y ?? $z

実行例を以下に示します。

?? 演算子の使用例2

?? 演算子の使用例2

??= 演算子

??= 演算子は、左オペランドが Null の場合に右オペランドの値を左オペランドに代入するという演算子です。

説明では伝わりにくいところもあると思いますので、以下に例を示します。

この例では 変数x の初期値は $null なのですが、??= 演算子を使用すると、$x には “デフォルト値”  という文字列が代入されます。

$x = $null
$x ??= "デフォルト値"

実行例を以下に示します。

??= 演算子の使用例

??= 演算子の使用例

 

コメント

タイトルとURLをコピーしました