PowerShell - 在“三元”If语句之后的大写

时间:2015-02-05 23:23:30

标签: string powershell

在PowerShell中执行此操作的正确方法是什么?

$action = if ($args.Length > 0) { $args[0] } else { Read-Host 'Action' } #.ToUpper()
echo $action

以下似乎是代码味道

$action = if ($args.Length > 0) { $args[0] } else { Read-Host 'Action' }
$action = $action.ToUpper()
echo $action

1 个答案:

答案 0 :(得分:4)

您拥有的第一个代码块几乎可以按照书面形式工作(您可以分配if / else语句的结果)。

$action = $(if ($args.Length -gt 0) { $args[0] } else { Read-Host 'Action' }).ToUpper()

您只需要使用-gt(大于)运算符而不是>,并将其包装在括号中。