C#中的switch结构和if结构一样都可以实现条件判断,只是适用的条件不同。switch结构主要用于多重条件switch的语法如下:
switch (condition)
{ case 常量表达式1: condition == 常量表达式1 时执行的语句; break; case 常量表达式2: condition == 常量表达式2 时执行的语句; break; default: 不满足上述条件时执行的语句; break;}case 个数 >= 0。
任何两个 case 语句的常量表达式都不能具有相同的值,注意是值不能相同。case 和 default 的 break 必不可少。default 可以省略,但为了可读性以及可维护性,建议写上,即使它什么也不做。condition 允许的数据类型为:sbyte、byte、short、ushort、uint、long、ulong、char、string 或者枚举类型。switch后边括号中的内容表示要判断的条件,case是关键字,表示符合判断条件的值,break关键字表示判断结束并返回,关键字default表示如果括号中的条件和case中的值都不符合,默认执行的代码块。using System;
class Sample{ public static void Main() { int myage=10; string mystr; switch (myage) { case 10: mystr="还是小孩!"; break; case 25: mystr="可以结婚了!"; break; default: mystr="不对吧!你到底多大!"; break; } Console.WriteLine("小子,你{0}",mystr); }}注意:C#每个case和default都必须有break语句,除非两个case之间没有其他语句。
问题:如下代码正确码?
switch(choice)
{ case 1:case 2:Console.WriteLine("今天是工作日");break;case 3:Console.WriteLine("今天是休息日");break;default:Console.WriteLine("好好努力啊");break;这段代码完全正确。case1和case2之间没有需要执行的代码,可以合并使用一个break语句结束判断。
注意:switch中要判断的表达式只能是整型,字符型和字符串。case不能进行逻辑操作,需要进行逻辑操作的判断只能使用if...else结构。