Когда я хочу проверить все эти вещи сразу в состоянии сценария PowerShell:
- Проверка на наличие ключа хеш-таблицы
- Убедитесь, что значение ключа не равно NULL
- Убедитесь, что значение ключа не пустая строка
- Убедитесь, что значение ключа не просто пробел
Я делаю это так:
$properties = @{ first = 'A'; second = ''; third = 'C' }
if (![string]::IsNullOrWhitespace($properties.first)) {
Write-Host "Value of key 'first' is: $($properties.first)"
}
if (![string]::IsNullOrWhitespace($properties.second)) {
Write-Host "Value of key 'second' is: $($properties.second)"
}
if (![string]::IsNullOrWhitespace($properties.fourth)) {
# This does not fail
}
Выход:
Value of key 'first' is: A
Очевидно, что это работает даже для несуществующих ключей. Но мне любопытно, есть ли лучший или более чистый способ сделать это?