有没有办法将两个不同的案例值分配给同一个代码块而无需复制和粘贴?例如,低于68和40应执行相同的代码,而30则不相关。
case 68:
//Do something
break;
case 40:
//Do the same thing
break;
case 30:
//Do something different
break;
认为这样的事情应该有效是不正确的(即使它显然没有)?
case 68 || 40:
//Do something
break;
case 30:
//Do something else
break;
答案 0 :(得分:147)
将它们放在彼此之后不间断
switch (myVar) {
case 68:
case 40:
// Do stuff
break;
case 30:
// Do stuff
break;
}
答案 1 :(得分:18)
是的,您只需将相关的case
语句放在彼此旁边,如下所示:
case 40: // Fallthrough
case 68:
// Do something
break;
case 30:
// Do something different
break;
Fallthrough
评论有两个原因:
答案 2 :(得分:4)
case 68:
case 40:
// stuff
break;
答案 3 :(得分:0)
Switch cases can be clubbed as shown in the dig.
此外,它不仅限于两种情况,您可以将其扩展到任何一种情况。案件。
答案 4 :(得分:-4)
您应该使用:
switch condition {
case 1,2,3:
// do something
case 4,5:
// do something
default:
// do something
}
案件应以逗号分隔。