Проверьте, не является ли строка NULL или EMPTY

В приведенном ниже коде мне нужно проверить, не является ли строка версии пустой, а затем добавить ее значение в переменную запроса.

if ([string]::IsNullOrEmpty($version))
{
    $request += "/" + $version
}

Как проверить, не включено ли условие?

Ответ 1

if (-not ([string]::IsNullOrEmpty($version)))
{
    $request += "/" + $version
}

Вы также можете использовать ! в качестве альтернативы -not.

Ответ 2

Вам необязательно использовать префикс [string]::. Это работает так же:

if ($version)
{
    $request += "/" + $version
}

Переменная, которая является пустой или пустой строкой, вычисляется как false.

Ответ 3

Как и во многих других языках программирования и сценариев, вы можете сделать это, добавив ! перед условием

if (![string]::IsNullOrEmpty($version))
{
    $request += "/" + $version
}

Ответ 4

Если переменная является параметром, вы можете использовать расширенную привязку параметров функции, как показано ниже, чтобы проверить не нуль или пусто:

[CmdletBinding()]
Param (
    [parameter(mandatory=$true)]
    [ValidateNotNullOrEmpty()]
    [string]$Version
)

Ответ 5

Я бы определил $ Version как строку, начинающуюся с

[string]$Version

и если это парам, вы можете использовать код, опубликованный Samselvaprabu или если вы не хотите, чтобы ваши пользователи выдавали ошибку, вы можете сделать что-то вроде

while (-not($version)){
    $version = Read-Host "Enter the version ya fool!"
}
$request += "/" + $version