Switch Operator
Switch Operator
该运算符将表达式的值与所有case变体中的常量进行比较,并将控制传递给与表达式值对应的运算符。每个case变体可以用整数常量、字面常量或常量表达式标记。常量表达式不能包含变量或函数调用。Switch运算符的表达式必须是整数类型。
switch(expression)
{
case constant: operators
case constant: operators
...
default: operators
}如果case中的任何常量都不等于表达式值,则执行由默认标签标记的运算符。默认变体不必声明,也不必是最后一个变体。如果没有常量对应表达式值且默认变体不可用,则不执行任何操作。
带有常量的case关键字只是标签,如果某个case变体执行了运算符,程序将继续执行所有后续变体的运算符,直到出现break运算符。它允许将一系列运算符与多个变体绑定。
常量表达式在编译期间计算。同一个switch运算符中的两个常量不能具有相同的值。
示例:
//--- First example
switch(x)
{
case 'A':
Print("CASE A");
break;
case 'B':
case 'C':
Print("CASE B or C");
break;
default:
Print("NOT A, B or C");
break;
}
//--- Second example
string res="";
int i=0;
switch(i)
{
case 1:
res=i;break;
default:
res="default";break;
case 2:
res=i;break;
case 3:
res=i;break;
}
Print(res);
/*
Result
default
*/另请参阅
最后更新于