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