Switch 中参数的范围探讨
switch 语句必须遵循下面的规则:
- switch 语句中的 expression 必须是一个整型或枚举类型,或者是一个 class 类型,其中 class 有一个单一的转换函数将其转换为整型或枚举类型。
- 在前面的示例中,整型变量 n 用于 switch case。注意还可以直接使用字符串变量 s。在这种情况下,可以以下列方式使用 switch case: --参考msdn
switch(s) {case "1":// ...case "2":// ... }
- 在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号。
- case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量。
- 当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到 break 语句为止。
- 当遇到 break 语句时,switch 终止,控制流将跳转到 switch 语句后的下一行。
- 不是每一个 case 都需要包含 break。如果 case 语句为空,则可以不包含 break,控制流将会 继续 后续的 case,直到遇到 break 为止。
- C# 不允许从一个开关部分继续执行到下一个开关部分。如果 case 语句中有处理语句,则必须包含 break 或其他跳转语句。
- 一个 switch 语句可以有一个可选的 default case,出现在 switch 的结尾。default case 可用于在上面所有 case 都不为真时执行一个任务。default case 中的 break 语句不是必需的。
- C# 不支持从一个 case 标签显式贯穿到另一个 case 标签。如果要使 C# 支持从一个 case 标签显式贯穿到另一个 case 标签,可以使用 goto 一个 switch-case 或 goto default。
注:
1、switch 语句中,参数范围可以延续。
1 switch (j) 2 { 3 case 0: 4 string test = "test"; 5 Console.WriteLine(test +j); 6 return 0; 7 case 1: 8 test = "1"; 9 Console.WriteLine(test); 10 //return 1; 11 break; 12 case 2: 13 test = "2"; 14 Console.WriteLine(test); 15 break; 16 default: 17 return -1; 18 }
test 变量范围测试
转载于:https://www.cnblogs.com/meng9527/p/9145789.html
Switch 中参数的范围探讨相关推荐
- java.lang.UnsupportedClassVersionError: JVMCFRE003解决方法--jdk 1.6 中switch的参数无法使用String类型
java.lang.UnsupportedClassVersionError: JVMCFRE003解决方法--jdk 1.6 中switch的参数无法使用String类型 参考文章: (1)java ...
- switch中的参数类型
关于switch的参数类型 switch(expr1)中,expr1是一个整数表达式,整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int ...
- C++ 中的switch函数参数类型
C++ 中的switch函数参数类型 switch (exp1)中, exp1 是一个整数表达式,整数表达式可以是int基本类型或Integer包装类型,由于, byte,short,char都可以隐 ...
- java中的switch的参数类型
java中的switch没有C#的方便,C#中,string都可以用.java.C++中只能用整型. Java 7之前,switch后面的括号里面只能放int类型的值,注意是只能放int类型,但是放b ...
- Java中switch的参数类型
概述 在jdk1.7以下版本,switch的参数类型只能是:int 或者 enum,在jdk1.7及以上版本,参数可以为String类型!!! 当因为版本低,switch功能不支持字符串作为条件.这时 ...
- DL之DNN优化技术:DNN中参数初始化【Lecun参数初始化、He参数初始化和Xavier参数初始化】的简介、使用方法详细攻略
DL之DNN优化技术:DNN中参数初始化[Lecun参数初始化.He参数初始化和Xavier参数初始化]的简介.使用方法详细攻略 导读:现在有很多学者认为,随着BN层的提出,权重初始化可能已不再那么紧 ...
- 关于switch的参数类型
关于switch的参数类型 switch(expr1)中,expr1是一个整数表达式,整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int ...
- switch()的参数注意项(转)
由于转自转载,作者不详,在此表示感谢@作者 1.switch参数类型: switch 后面的表达式不能跟double,float,long,String ,boolean,可以接int,short,b ...
- C++ main函数中参数argc和argv
argc 是 argument count的缩写,表示传入main函数的参数个数: argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0 ...
最新文章
- 第五章:Java_面向对象编程(三)
- 如何将前端数据保存到文件
- MAC itunes无法验证服务器s.mzstatic/itunes无法更新服务器解决方案
- 博客园自动显示随笔标签
- JAVA入门级教学之(文档里的is-a、is-like-a、has-a到底是什么意思)
- java离线语音识别_你家的油烟机,可以语音控制了吗?
- Centos挂载windows共享文件夹
- table函数--Matplotlib
- 美人计--图片asp木马
- Android时间与服务器同步方法
- 湖南张家界夫妻自助旅游攻略
- Dockerfile指令详解镜像构建实例说明
- 【ACM省赛】第九届河南省程序设计大赛 B 宣传墙
- 计算机网络如何新建vlan和划分vlan,[单选] 划分VLAN后,不同VLAN的计算机之间不能实现二层通信。如果在VLAN间通信,需要建立()...
- Cesium里面的气泡
- Java Shadowing 影子变量 影子声明
- JVM3:实战:内存分配与回收策略
- linux 查看当前连接ip,netstat查看系统连接数及当前连接IP
- 最短路径的模板-摘自宫水三叶
- 【JDK8 新特性 6】收集Stream流中的结果