当我以为我认识PowerShell时,我想知道这里发生了什么。 Compare-Object适用于这两个示例,如果我不检查$ null,则第二个示例将返回差异,但我在最糟糕的时间进行简单比较。为什么第二个示例不返回 False ?
(compare-object @(1,2,3) @(1,2,3)) -eq $null
真
(compare-object @(1,2,3) @(1,2,3,4,5,6)) -eq $null
(没有返回) - 我希望看到错误
答案 0 :(得分:2)
这是因为结果是一个数组,你应该检查计数以确定是否有内容:
((compare-object @(1,2,3) @(1,2,3)) | measure).count -gt 0
和
((compare-object @(1,2,3) @(1,2,3, 4, 5, 6)) | measure).count -gt 0