![即使与 powershell 不匹配,也要执行后续的 Switch 案例吗?](https://linux22.com/image/704064/%E5%8D%B3%E4%BD%BF%E4%B8%8E%20powershell%20%E4%B8%8D%E5%8C%B9%E9%85%8D%EF%BC%8C%E4%B9%9F%E8%A6%81%E6%89%A7%E8%A1%8C%E5%90%8E%E7%BB%AD%E7%9A%84%20Switch%20%E6%A1%88%E4%BE%8B%E5%90%97%EF%BC%9F.png)
所以我有以下 switch case,假设我输入 3,我应该得到输出
案例 3 案例 4 案例 5 案例 6
如果我输入 5,则 O/P :案例 5 案例 6
switch(1)
{
case 1 : { write-host "Case 1"}
case 2 : { write-host "Case 2"}
case 3 : { write-host "Case 3"}
case 4 : { write-host "Case 4"}
case 5 : { write-host "Case 5"}
case 6 : { write-host "Case 6"}
}
我怎样才能实现这个目标?
答案1
在案例陈述中使用比较,具体来说-ge
(大于或等于):
$val=3
switch($val) {
{(1 -ge $_)} { write-host "Case 1" }
{(2 -ge $_)} { write-host "Case 2" }
{(3 -ge $_)} { write-host "Case 3" }
{(4 -ge $_)} { write-host "Case 4" }
}
这是有效的,因为 Powershell 即使在第一次匹配后仍会继续评估可能的匹配 - 为了避免这种情况,您必须break
在每个执行块中添加一个。