Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 将布尔值转换为字符串_Powershell - Fatal编程技术网

Powershell 将布尔值转换为字符串

Powershell 将布尔值转换为字符串,powershell,Powershell,我正在尝试将PowerShell中的布尔值转换为以下值: 真的→ 绿色的 假的→ 红色的 这是我的相关代码 $SecMasSQLRes | ForEach-Object { if ($SecMasSQLRes.CusipPercent -lt 25) { Write-Host CusipStatus = GREEN } else { Write-Host CusipStatus = RED } if ($SecMasSQLRe

我正在尝试将PowerShell中的布尔值转换为以下值:

  • 真的→ 绿色的
  • 假的→ 红色的
这是我的相关代码

$SecMasSQLRes | ForEach-Object {
    if ($SecMasSQLRes.CusipPercent -lt 25) {
        Write-Host CusipStatus = GREEN
    } else {
        Write-Host CusipStatus = RED
    }

    if ($SecMasSQLRes.ISINPercent -lt 10) {
        Write-Host IsinStatus = GREEN
    } else {
        Write-Host IsinStatus = RED
    }

    if ($SecMasSQLRes.SymbolPercent -lt 10) {
        Write-Host SymbolStatus = GREEN
    } else {
        Write-Host SymbolStatus = RED
    }
}

$CusipResults = $SecMasSQLRes.CusipPercent -lt 25
$IsinResults = $SecMasSQLRes.ISINPercent -lt 10
$SymbolResults = $SecMasSQLRes.SymbolPercent -lt 10

$CusipResults
$IsinResults
$SymbolResults

有几种方法可以实现这一点:

  • 按照以下建议使用
    if
    /
    else
    语句:

  • 使用
    开关
    语句:

    switch (condition) { $true {'GREEN'} default {'RED'} }
    
  • 按照以下建议使用哈希表:

  • 使用布尔值(隐式转换为整数)作为数组中的索引,如下所示:

就个人而言,我认为哈希表方法是最干净的方法,所以我更喜欢这种方法:

$light = @{
    $true  = 'GREEN'
    $false = 'RED'
}

$SecMasSQLRes | ForEach-Object {
    Write-Host CusipStatus = $light[($_.CusipPercent -lt 25)]
    Write-Host IsinStatus = $light[($_.ISINPercent -lt 10)]
    Write-Host SymbolStatus = $light[($_.SymbolPercent -lt 10)]
}

$variable=if(条件){'GREEN'}else{'RED'}
$lookup=@{$false='RED';$true='GREEN'}$查找[$MyBool]
Golf'd:
@('RED','GREEN')[$bool]
谢谢大家,我走了另一条路,但我一定会尝试这些建议。
$light = @{$true = 'GREEN'; $false = 'RED'}
$light[(condition)]
@('RED', 'GREEN')[(condition)]
$light = @{
    $true  = 'GREEN'
    $false = 'RED'
}

$SecMasSQLRes | ForEach-Object {
    Write-Host CusipStatus = $light[($_.CusipPercent -lt 25)]
    Write-Host IsinStatus = $light[($_.ISINPercent -lt 10)]
    Write-Host SymbolStatus = $light[($_.SymbolPercent -lt 10)]
}