Welcome

首页 / 软件开发 / C# / C#的switch语句

C#的switch语句2007-09-13 本站 if语句每次判断只能实现两条分支,如果要实现多种选择的功能,那么可以采用switch语句。switch语句根据一个控制表达式的值选择一个内嵌语句分支来执行。它的一般格式为:

switch(controllong-expression){case constant-expression embedded-statementsdefault: 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; }}