一个switch语句允许使用一个变量测试来相对于一个值的列表。每个值都称为一种情况(case),并且每个switch情况都检查是否匹配变量的值。
语法
C# 中的switch语句的语法如下:
switch(expression) {
case constant-expression :
statement(s);
break; /* optional */
case constant-expression :
statement(s);
break; /* optional */
/* you can have any number of case statements */
default : /* Optional */
statement(s);
}123456789101112复制代码类型:[csharp]
以下规则适用于switch语句:
switch语句中使用的表达式(expression)必须具有一个整数或枚举类型,或者是类类型,该类具有单个转换函数为整数或枚举类型。
可以在switch语句内有任意数量的case语句。 每个case语句后跟要比较的值和冒号。
case语句中的常量表达式必须与switch中变量的数据类型相同,它必须是常量或字面值。
当接通的变量等于其中一个case语句中的值时,这个case语句中代码块将被执行,直到达到break语句。
当达到break语句时,switch语句块终止,并且控制流程跳转到switch语句之后的下一行。
不是每个case都需要包含break语句(可选)。 如果不没有break语句,控制流程将执行到在后续case语句中,直至遇到break语句。
switch语句可以具有可选的default语句,必须出现在switch语句的末尾。 默认情况下可以用于在没有任何情况为真时执行任务。在default语句不需要使用break语句。
流程图
using System;
namespace DecisionMaking
{
class Program
{
static void Main(string[] args)
{
/* local variable definition */
char grade = 'B';
switch (grade)
{
case 'A':
Console.WriteLine("Excellent!");
break;
case 'B':
case 'C':
Console.WriteLine("Well done");
break;
case 'D':
Console.WriteLine("You passed");
break;
case 'F':
Console.WriteLine("Better try again");
break;
default:
Console.WriteLine("Invalid grade");
break;
}
Console.WriteLine("Your grade is {0}", grade);
Console.ReadLine();
}
}
}12345678910111213141516171819202122232425262728293031323334复制代码类型:[csharp]
当编译和执行上述代码时,会产生以下结果:
Well done
Your grade is B
开课吧广场-人才学习交流平台-开课吧is B
,