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

 

posted on 2012-06-25 16:56  流星落  阅读(973)  评论(0编辑  收藏  举报

导航