PowerShell 中的三元運算子是如何工作的?


PowerShell 中的三元運算子是在 PowerShell 版本 7.0 中引入的。三元運算子具有“?”(問號)符號,其語法為:

[Condition] ? (output if True) : (output if false)

三元運算子的左側為條件,右側為基於條件語句的輸出。條件的輸出採用布林形式,如果條件為真,則執行真塊;如果條件為假,則執行假塊。例如:

示例

$a = 5; $b = 6
($a -gt $b) ? "True" : "false"

輸出

false

正如您所看到的,值 5 小於 6,因此上述條件為假並執行了第二個塊。您還可以修改語句,如下所示:

($a -gt $b) ? ("$a is greater than $b") : ("$a is less than $b")

輸出

5 is less than 6

您可以看到,程式碼量減少了一行,如果我們使用 if/else 條件寫成程式碼,則會出現以下情況:

$a = 5; $b = 6

if($a -gt $b){"$a is greater than $b"}
else{"$b is greater than $a"}

因此,使用三元運算子似乎很簡單。您還可以在運算子左側使用返回布林值的 cmdlet。

示例

(Test-Connection google.com -Count 2 -Quiet) ? "Google.Com server is reachable" : "Google.Com server is unrechable"

輸出

Google.Com server is reachable

儘量使這個三元運算子儘可能簡單。如果在指令碼編寫目的中使用了三元運算子的右側部分,它並不總是能正常工作。

更新於:2020-11-11

5K+ 瀏覽

開啟你的 生涯

透過完成課程獲得認證

入門
廣告
© . All rights reserved.