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)" }
}
}
Но на самом деле мне не нравится ни один из этих подходов, но что вы считаете лучшим подходом?