2016-11-29 106 views
2

就在我認爲我知道PowerShell的時候,我想知道這裏發生了什麼。 Compare-Object適用於這兩個示例,如果我不檢查$ null,則第二個示例將返回差異,但我最糟糕的時間是進行簡單比較。爲什麼第二個例子不返回錯誤爲什麼這個小小的PowerShell代碼片段返回false?

(compare-object @(1,2,3) @(1,2,3)) -eq $null 

(compare-object @(1,2,3) @(1,2,3,4,5,6)) -eq $null 

(沒有返回) - 我希望看到

回答

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 
+2

我想這是那種我的問題與此 - 我需要打這個電話來衡量,對象,因爲在第一個例子中,返回值是*不*數組,它只是$空。我現在看到,我的問題是用PS比較數組到$ null的有趣方式。 –