switch语句
这个语句求一个表达式的值,并将这个值与许多case进行比较。每个case与一个叫做switch块的语句列表关联。c#执行一个与switch块关联的语句块,这个switch块与表达式的值进行匹配。当你试图求某个特殊表达式的值时,switch是一种易于理解的编程方法,其中包含许多if/else语句对。
用做switch语句驱动器的表达式包含在括号内,后面是switch关键字。一般来说,switch语句表达式的值必须为下列类型中的一种:sbyte、byte、short、ushort、int、uint、long、ulong、char、string。你也可能使用一个能够隐性转换成上述值类型的表达式。
switch块以关键字case开始,后面是一个常量表达式。常量表达式后面是一个冒号,冒号后是语句列表。break则结束语句块。
中swith(值)中的值,就是要与语句体内case 后面的值作比较,如果对应的case值相同那么就执行相应的case语句,如本例因为传入的值是1,所以就要执行第一个case语句。switch体内内的case语句可以有无限个,但是值是不能重复的,这里这个值是case后面的那个。每一个case语句后面必须要有一个break,作用是使执行跳出switch语句。如果没有任何 case 表达式与开关值匹配,则控制传递给跟在可选 default 标签后的语句。如果没有 default 标签,则控制传递到 switch 以外。另外强调一点default后面也是要加break,这个不能省略
public static string get_mcode_desc(string mcode)
{
switch (mcode)
{
case "101000":
return "链路检测(network management)";
case "101001":
return "业务前置机签到交易(sign on)";
case "101002":
return "业务前置机签退交易(sign off)";
case "101010":
return "订购关系查询(order relationship query)";
case "101071":
return "子应用状态查询(sub_application status query)";
case "101011":
return "发卡请求(空中、写卡器)(create sub application request)";
case "101012":
return "卡片操作结果通知(写卡器)(terminal card operation result)";
case "101021":
return "业务前置机挂失通知(prehost report of loss)";
case "101022":
return "解挂通知(cancel report of loss)";
case "101031":
return "注销请求(空中、写卡器)(cancellation request)";
case "101032":
return "废卡请求(annul card request)";
case "101041":
return "个人化信息更新请求(空中)(update sub_application)";
case "101051":
return "恢复企业初始主控密钥(reload keys)";
case "101061":
return "信息服务通知(message send)";
case "101062":
return "信息状态查询(message status query)";
case "101081":
return "机具状态数据上报(terminal status)";
case "101091":
return "卡片操作请求(card operation request)";
case "102011":
return "空中卡片操作结果通知(air card operation result)";
case "102021":
return "一卡通业务前置机应用停止通知(prehost application stop)";
case "102031":
return "信息查询请求(message query request)";
case "102041":
return "服务系统挂失通知(servicesystem report of loss)";
case "108001":
return "企业客户端查询前置状态(query prehost status)";
}
return "未知交易码";
}
}
switch语句是非常清晰使用的一个流程控制语句,和if语句非常相似,都是根据给定的条件来选择不懂的语句执行,但是switch的条件值是离散的,只是能a、b、c等这样的形式,if语句可以连续的比如可以>a、<b等等。
因为asp教程中没有switch语句但是有类似的select case 语句,所以这里说的说的switch语句只能是asp.net教程(c#)中的,因为上面说过,本人钟爱asp和asp.netswitch语句