C#在多种条件下选择自己的路-swith结构

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结构。