У меня есть два массива с более чем 500 000 значений и их нужно сравнить, чтобы найти разницу. Некоторые из значений в массиве: $null
. Когда я пытаюсь сделать следующий код, и я получаю сообщение об ошибке Compare-Object : Cannot bind argument to parameter 'ReferenceObject' because it is null
Сравнение массива с нулевыми элементами
Есть ли какая-нибудь работа вокруг этой проблемы или есть лучший и быстрый способ найти разницу? Меня интересует только счет дисперсии/разницы.
Спасибо!
Пример кода: Сообщение
$objSource = @('a', $null, 'c')
$objTarget = @('a', 'b','c')
Compare-Object -ReferenceObject $objSource -DifferenceObject $objTarget | Measure
Ошибка:
Compare-Object : Cannot bind argument to parameter 'ReferenceObject' because it is null . At line:4 char:32
+ Compare-Object -ReferenceObject <<<< $objSource -DifferenceObject $objTarget
+ CategoryInfo : InvalidData: (:) [Compare-Object], ParameterBindingValid ationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft .PowerShell.Commands.CompareObjectCommand
Да, это работает, но результат всегда 2. Я хотел бы, чтобы найти количество отклонений. – Sarang