根据Windows PowerShell 4.0,Technet关于逻辑运算符的说明如下:
Operator Description Example
-------- ------------------------------ ------------------------
-or Logical or. TRUE when either (1 -eq 1) -or (1 -eq 2)
or both statements are TRUE. True
-xor Logical exclusive or. TRUE (1 -eq 1) -xor (2 -eq 2)
only when one of the statements False
is TRUE and the other is FALSE.
似乎两者都不执行短路评估。
我该如何在 Windows Powershell 4.0 中模仿 C# 的 ||
或 VB 的 OrElse
?
-or
运算符的描述感到困惑。Keith Hill的回答表明它默认情况下会短路,这帮助我澄清了一些事情。 - Code Maverick-xor
不可能短路...对吧?它必须评估表达式的两侧以确定排他性...对吧? - Code Jockey