- C# 基础教程
- C# - 首页
- C# - 概述
- C# - 环境
- C# - 程序结构
- C# - 基本语法
- C# - 数据类型
- C# - 类型转换
- C# - 变量
- C# - 常量
- C# - 运算符
- C# - 决策
- C# - 循环
- C# - 封装
- C# - 方法
- C# - 可空类型
- C# - 数组
- C# - 字符串
- C# - 结构体
- C# - 枚举
- C# - 类
- C# - 继承
- C# - 多态
- C# - 运算符重载
- C# - 接口
- C# - 命名空间
- C# - 预处理器指令
- C# - 正则表达式
- C# - 异常处理
- C# - 文件 I/O
- C# 高级教程
- C# - 属性
- C# - 反射
- C# - 属性
- C# - 索引器
- C# - 委托
- C# - 事件
- C# - 集合
- C# - 泛型
- C# - 匿名方法
- C# - 不安全代码
- C# - 多线程
- C# 有用资源
- C# - 问题与解答
- C# - 快速指南
- C# - 有用资源
- C# - 讨论
C# - switch 语句
switch 语句允许测试一个变量是否与一系列值相等。每个值称为一个 case,被切换的变量会针对每个 switch case 进行检查。
语法
C# 中 switch 语句的语法如下:
switch(expression) { case constant-expression1 : statement(s); break; case constant-expression2 : case constant-expression3 : statement(s); break; /* you can have any number of case statements */ default : /* Optional */ statement(s); }
switch 语句适用以下规则:
switch 语句中使用的表达式必须是整数类型、枚举类型,或者是一个类类型(该类具有单个转换为整数或枚举类型的转换函数)。
可以在一个 switch 中包含任意数量的 case 语句。每个 case 后面跟着要比较的值和一个冒号。
case 的常量表达式的数据类型必须与 switch 中的变量相同,并且必须是常量或字面量。
当被切换的变量等于某个 case 时,紧跟该 case 后面的语句将执行,直到遇到break语句。
遇到break语句时,switch 将终止,控制流程跳转到 switch 语句后的下一行。
并非每个 case 都需要包含break。如果没有任何break,则会引发编译时错误。
switch 语句可以包含可选的default case,它必须出现在 switch 的末尾。当没有一个 case 为真时,可以使用 default case 来执行任务。
流程图
示例
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(); } } }
编译并执行以上代码后,将产生以下结果:
Well done Your grade is B
csharp_decision_making.htm
广告