【发布时间】:2009-04-24 13:36:49
【问题描述】:
很好奇,这背后的想法是什么:
@() -as [bool]
# False
@($null) -as [bool]
# False
@($null, $null) -as [bool]
# True
我希望是 False/True/True 或 False/False/False,但不是 False/False/True。
【问题讨论】:
标签: arrays powershell
很好奇,这背后的想法是什么:
@() -as [bool]
# False
@($null) -as [bool]
# False
@($null, $null) -as [bool]
# True
我希望是 False/True/True 或 False/False/False,但不是 False/False/True。
【问题讨论】:
标签: arrays powershell
如 Powershell 快速参考中所述¹:
真假 ~~~~ ~~~~~~ $真 $假 任何长度 > 0 的字符串,除了单词“false” 空字符串或字符串“false” 任意数≠0任意数=0 长度 > 1 的数组 长度为 0 的数组 元素为真的长度为 1 的数组 元素为假的长度为 1 的数组 对任何对象 Null 的引用我认为其背后的想法是,如果将 cmdlet/函数的输出放入数组中,则很容易出现只有一个元素 $false 的数组。您可能期望更多的值,但由于一些错误导致它返回 $false,但在这种情况下,数组中出现两次 $false 的可能性不大。
或者我们应该等待 Jeffrey Snover 在这里回答:-)
¹ 我的机器上的 C:\Windows\System32\WindowsPowerShell\v1.0\Documents\en-US\QuadFold.rtf
【讨论】: