我正在尝试将PowerShell脚本的参数转换为布尔值.这条线
[System.Convert]::ToBoolean($a)
Run Code Online (Sandbox Code Playgroud)
只要我使用诸如"true"或"false"的有效值,就可以正常工作,但是当传递无效值(例如"bla"或"")时,将返回错误.我需要类似于TryParse的东西,如果输入值无效则将值设置为false并返回指示转换成功或失败的布尔值.为了记录,我尝试了[boolean] :: TryParse和[bool] :: TryParse,PowerShell似乎没有认出它.
现在我不得不通过两个额外的if语句来笨拙地处理这个问题.
让我感到惊讶的是,到目前为止我发现的任何方法和博客文章都没有处理无效的值.我是否遗漏了一些东西,或者PowerShell孩子对于输入验证来说太酷了?