Работа над сценарием Powershell У меня было несколько мест, где я хотел A, если это не было нулевым, иначе B. По существу это? оператора в C#. Я закончил писать функцию, показанную ниже, но я не могу не думать, что есть встроенный способ сделать это.По умолчанию для нулевых значений
Есть ли лучший, встроенный способ?
function Get-ValueOrDefault()
{
foreach ($value in $args)
{
if ($value -ne $null) { return $value }
}
}
Я думаю, что это работает лучше:
function Get-ValueOrDefault() { $args | select -first 1 }
Одна из проблем, с функцией является то, что если вы передаете булевы вы будете иметь неожиданные результаты. Вместо этого следует сравнить $ value -eq $ null. – Josh
Хорошая точка, Джош. – OldFart
В аналогичном вопросе http://stackoverflow.com/questions/10623907/null-coalescing-in-powershell было предложено ($ value, 'default' -ne $ null) [0] в ответе http: // stackoverflow. com/a/17647824/52277 –