about_Continue

м коде PowerShell часто возникает следующая ситуация: у меня есть функция или свойство, которое возвращает коллекцию объектов, или$null, Если вы помещаете результаты в конвейер, вы также обрабатываете элемент в конвейере, если$null это единственный элемент.

Пример:

$Project.Features | Foreach-Object { Write-Host "Feature name: $($_.Name)" }

Если функций нет ($ Project.Features возвращает $ null), вы увидите одну строку с «Имя функции:».

Я вижу три способа решить эту проблему:

if ($Project.Features -ne $null)
{
  $Project.Features | Foreach-Object { Write-Host "Feature name: $($_.Name)" }
}

или же

$Project.Features | Where-Object {$_ -ne $null) | Foreach-Object { 
  Write-Host "Feature name: $($_.Name)" 
}

или же

$Project.Features | Foreach-Object { 
  if ($_ -ne $null) {
    Write-Host "Feature name: $($_.Name)" }
  }
}

Но на самом деле мне не нравится ни один из этих подходов, но что вы считаете лучшим подходом?

Ответы на вопрос(4)

Ваш ответ на вопрос