所以我有以下 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
在每个执行块中添加一个。