C#的switch语句

if语句每次判断只能实现两条分支,如果要实现多种选择的功能,那么可以采用switch语句。

switch语句根据一个控制表达式的值选择一个内嵌语句分支来执行。它的一般格式为:

switch(controllong-expression)
{
  case constant-expression
     embedded-statements
  default:
     embedded-statements
}

switch语句的控制类型,即其中控制表达式(controllong-expression)的数据类型可以是sbyte,byte,short,ushort,uint,long,ulong,char,string或枚举类型(enum-type)。每个case标签中的常量表达式(constant-expression)必须属于或能隐式转换成控制类型。如果有两个或两个以上的case标签中的常量表达式相同,编译时将会报错。switch语句中最多只能有一个default标签。

我们举一个例子来说明switch语句是如何实现程序的多路分支的。

假设考查课的成绩按优秀、良好、中等、及格和不及格分为五等,分别用4、3、2、1、0来表示,但实际的考卷为百分制,分别对应的分数为90-100,80-90,60-80,60分以下。下面的程序将考卷成绩x转换为考查课成绩y。我们先看流程图。

代码如下:

int x=int(x/10);
switch(x)
{
  case 10:y=4;break;
  case 9:y=4;break;
  case 8:y=3;break;
  case 7:y=2;break;
  case 6:y=1;break;
  default:y=0;
}

 

下面的例子判断传递给应用程序的参数的有无、位数。

程序清单8-2:

using System;
class Test
{
  public static void Main(string[] args{
   switch(args.Length){
     case 0:
       Console.WriteLine("No arguments were provided");
       break;
     case 1:
       Console.WriteLine("One arguments was provided");
       break;
     default:
       Console.WriteLine("{0}arguments were provided");
       break;
   }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值