空合并运算符在 Powershell 7 中不起作用

问题描述 投票:0回答:1
Param(
    [String] $foo
)

$foo ??= "bar" # does not work
$foo = $foo ?? "bar" # does not work
$foo = $foo ? $foo : "bar" # works

write-host $foo

我使用的是Powershell 7.4.5

我在这里做错了什么?

powershell null-coalescing-operator null-conditional-operator null-coalescing
1个回答
0
投票

如果将其设置为字符串,powershell 可能会将其解释为空字符串。 你需要这样做

if ([string]::IsNullOrEmpty($foo)) {
    $foo = "bar"
}
© www.soinside.com 2019 - 2024. All rights reserved.