我正在尝试简化一段很长的代码,我想知道是否可以在case语句后使用条件而不是值作为var。
即,
switch(var) {
case(var>1): printf("Var greater than 1");
case(var<1): printf("Var less than 1");
}这个是可能的吗?如果不是,有没有其他有相同想法的替代方案呢?
发布于 2015-03-13 08:45:19
不是的。这是不可能的。使用if和else if。
if (var > 1) {
printf("Var greater than 1");
} else if (var < 1) {
printf("Var less than 1");
}发布于 2019-06-15 00:46:46
switch是一个条件语句,用于在每种情况下匹配值。你在找什么是不可能的。您必须使用If else语句来执行此操作。
发布于 2020-03-04 21:42:26
从C# 7开始,SWITCH语句变得更加强大;尝试执行以下操作:
SWITCH (myVariable){
CASE var myVal WHEN myVal < 1 :
... my code ...
break;
CASE var myVal WHEN myVal > 1 :
... some other code ...
break;
}https://stackoverflow.com/questions/29022954
复制相似问题