2016-11-29 8 views
2

私がPowerShellを知っていると思ったとき、私はここで何が起こっているのだろうかと思っています。 Compare-Objectはこれらの例の両方で動作し、2番目の例は$ nullをチェックしないと違いを返しますが、単純な比較をするのに最悪の時間があります。 2番目の例が返されないのはなぜですかFalseなぜこの小さな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

私はこれで私の問題のようなものだと思う - 私は*配列は、それだけだない測定・オブジェクトをする最初の例では、戻り値があるので、*呼び出しを行う必要があること$ null。今私の問題はPSが配列を$ nullと比較するという楽しい方法であることがわかります。 –

関連する問題