看着关于 PowerShell 的_Comparison_Operators 的帮助部分,我明白了这一点:
PS C:\> $false,$false -eq $true
PS C:\>
左侧没有任何内容与右侧匹配,因此没有返回任何内容,甚至没有$null
.
我不明白这一点:
PS C:\> $true -eq $false,$false
True
PS C:\>
是不是因为它首先执行$true -eq $false
返回False,然后采取该False并执行$false -eq $false
返回True?
更多信息
下面返回 false 的原因是因为它将字符串与数组进行比较,对吗?字符串不等于数组。
PS C:\> "abc" -eq "abc","def"
False
回答?
更多的挖掘表明它$true
等于一个物体。
PS C:\> $true -eq [array]
True
PS C:\> $true -eq [string]
True
PS C:\> $true -eq [int]
True
PS C:\> $true -eq [bool]
True
重要的是这些对象的值。
PS C:\> $true -eq [int]0
False