C#中判断的应用说明二(switch语句)

news/2024/10/15 6:49:40/

一.判断的定义说明

判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。下面是大多数编程语言中典型的判断结构的一般形式:

二.判断语句

C# 提供了以下类型的判断语句,查看每个语句的细节。

语句描述
switch语句一个 switch 语句允许测试一个变量等于多个值时的情况。
嵌套switch语句您可以在一个 switch 语句内使用另一个 switch 语句。

2.1switch 语句 

一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case,且被测试的变量会对每个 switch case 进行检查。

2.1.1 语法

C# 中 switch 语句的语法:

switch(expression){case expression1  :statement(s);break; case expression2  :statement(s);break; /* 您可以有任意数量的 case 语句 */default : /* 可选的 */statement(s);break; 
}

2.1.2 switch 语句必须遵循的规则:

  • switch 语句中的 expression 必须是一个整型或枚举类型,或者是一个 class 类型,其中 class 有一个单一的转换函数将其转换为整型或枚举类型。
  • 在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号。
  • case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量。
  • 当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到 break 语句为止。
  • 当遇到 break 语句时,switch 终止,控制流将跳转到 switch 语句后的下一行。
  • 不是每一个 case 都需要包含 break。如果 case 语句为空,则可以不包含 break,控制流将会 继续 后续的 case,直到遇到 break 为止。
  • C# 不允许从一个 case 部分继续执行到下一个 case 部分。如果 case 语句中有已经执行,则必须包含 break 或其他跳转语句。
  • 一个 switch 语句可以有一个可选的 default 语句,在 switch 的结尾。default 语句用于在上面所有 case 都不为 true 时执行的一个任务。default 也需要包含 break 语句,这是一个良好的习惯。
  • C# 不支持从一个 case 标签显式贯穿到另一个 case 标签。如果要使 C# 支持从一个 case 标签显式贯穿到另一个 case 标签,可以使用 goto 一个 switch-case 或 goto default。

2.2 流程图

C# 中的 switch 语句

2.3实例

以下实例用于判断当前是星期几:

  class Program
  {
    static void Main(string[] args)
    {
      int day = 4;
      switch (day)
      {
        case 1:
          Console.WriteLine("Monday");
          break;
        case 2:
          Console.WriteLine("Tuesday");
          break;
        case 3:
          Console.WriteLine("Wednesday");
          break;
        case 4:
          Console.WriteLine("Thursday");
          break;
        case 5:
          Console.WriteLine("Friday");
          break;
        case 6:
          Console.WriteLine("Saturday");
          break;
        case 7:
          Console.WriteLine("Sunday");
          break;
      }    
    }
  }


http://www.ppmy.cn/news/1539317.html

相关文章

继承、Lambda、Objective-C和Swift

继承 东风系列导弹是镇国神器。东风41不是突然就造出来的,之前有很多种东风xx导弹,每种导弹都有自己的独特之处,相同之处都具备导弹基本特点。很多工厂有量产磨具的生产线,盖房子就图纸,建筑设计建设都有参考&#xff…

Linux系统:配置Apache支持CGI(Ubuntu)

配置Apache支持CGI 根据以下步骤配置,实现Apache支持CGI 安装Apache: 可参照文章: Ubuntu安装Apache教程。执行以下命令,修改Apache2配置文件000-default.conf: sudo vim /etc/apache2/sites-enabled/000-default.con…

解决 CentOS 安装 Oracle 11g 时的多架构依赖冲突20241014

解决 CentOS 安装 Oracle 11g 时的多架构依赖冲突 在 CentOS 中安装 64 位的 Oracle 11g 时,可能会遇到 Protected multilib versions 错误。该错误通常是由于系统中同时存在不同架构(如 x86_64 和 i686)的同一软件包版本不一致所导致。本文…

论文笔记 ICLR 2024 MogaNet: Multi-Order Gated Aggregation Network

配图中有2个分支,一个是subtract的输出和缩放因子(γs)相乘之后的结果,另一个是11卷积输出的结果,这两个分支的输出进行element-wise addition,这两个分支的输出分别代表什么? 为什么”增强局部…

PyTorch 深度学习虚拟环境安装与配置 GPU 版

什么是虚拟环境? 在 Anaconda 中,虚拟环境允许你为不同的项目创建隔离的 Python 环境,这样可以避免不同项目之间的依赖冲突。 使用虚拟环境是一个很好的实践,特别是当你在开发多个项目,或者需要不同版本的库时。这样可以确保项目…

计算机和网络

计算机的发展史 计算机的发展大致可以分为五个阶段,每个阶段都代表了技术的重大进步: 第一代计算机(1940年代中期 - 1950年代中期):电子管计算机 第一代计算机使用电子管作为主要的电子元件。代表性机器:E…

13.1 Linux_网络编程

字节序 1、概述 什么是字节序: 字节序就是字节的存储顺序,分为大端字节序和小端字节序。 大端字节序:低地址存高位(网络)小端字节序:低地址存低位(主机) 检验主机字节序模式&…

Spring Boot教学资源库:开发者的成长之路

2 相关技术简介 2.1Java技术 Java是一种非常常用的编程语言,在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中,Java的身影无处不在,并且拥有旺盛的生命力。Java的跨平台能力十分强大,只需一次编译,任…