Trabajando en un script de Powershell Tenía varios lugares donde quería A a menos que fuera nulo, sino B. ¿Esencialmente el? operador en C#. Terminé escribiendo la función que se muestra a continuación, pero no puedo evitar pensar que hay una forma incorporada de hacerlo.Predeterminado para valores nulos
¿Existe alguna forma mejor incorporada?
function Get-ValueOrDefault()
{
foreach ($value in $args)
{
if ($value -ne $null) { return $value }
}
}
creo que esto funciona mejor:
function Get-ValueOrDefault() { $args | select -first 1 }
Uno de los problemas con su función es que si pasa booleanos que tendrá resultados inesperados. En su lugar, debería comparar $ valor -eq $ null. – Josh
Buen punto, Josh. – OldFart
En una pregunta similar http://stackoverflow.com/questions/10623907/null-coalescing-in-powershell se sugirió ($ value, 'default' -ne $ null) [0] en la respuesta http: // stackoverflow. com/a/17647824/52277 –