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

ops/2024/10/22 1:32:35/

一.判断的定义说明

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

二.判断语句

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/ops/127437.html

相关文章

Threejs 实现3D 地图(01)创建基本场景

"d3": "^7.9.0", "three": "^0.169.0", "vue": "^3.5.10" <script setup> import { onMounted,ref } from vue import * as THREE from three import * as d3 from "d3"; //莫开托坐标 矫正地图…

MySQL索引、事物与存储引擎

目录 一、MySQL索引 1.索引的概念 2.索引的作用 3.创建索引的原则依据 4.索引的分类和创建 4.1 普通索引 4.2 唯一索引 4.3 主键索引 4.4 组合索引&#xff08;单列索引与多列索引&#xff09; 4.5 全文索引&#xff08;FULLTEXT&#xff09; 5. 查看索引 6.删除索引…

matlab怎样将数据按行拼接和按列拼接(水平拼接竖直拼接)

1-将两个矩阵水平拼接 在 MATLAB 中&#xff0c;A [A, B] 是将矩阵 A 和矩阵 B 进行水平拼接的操作。具体来说&#xff0c;它是将矩阵 B 按照列的方式拼接到矩阵 A 的右边。 2-将两个矩阵竖直拼接 在 MATLAB 中&#xff0c;A [A&#xff1b; B] 是将矩阵 A 和矩阵 B 进行竖…

FPGA驱动HDMI 初级篇

简介 本章节主要讲述如何通过FPGA驱动HDMI显示。 本章节框图如下: bd框图中使用了两个IP核,分别是Video Timing controller核AXI4-Stream to video out两个模块,下面先对两个模块做介绍。 Video Timing controller 配置如下: 这里由于没有使用ZYNQ PS端,…

隐藏移动端IOS和安卓上的滚动条

直接上代码&#xff0c;就几行 ::-webkit-scrollbar {/* 不显示出来&#xff0c;安卓上会自动补上滚动条 */display: block;/* 宽度为0&#xff0c;安卓上会自动补上滚动条 */width: .5px; }::-webkit-scrollbar-thumb {/* 让看不见但是存在 */background-color: transparent;…

机器视觉系统硬件组成之工业相机篇

工业相机是一种非常重要的机器视觉器件&#xff0c;它能够将被采集的图像信息通过电路转换成电信号&#xff0c;再通过模数转换器&#xff08;ADC&#xff09;将其转化为数字信号&#xff0c;最后以标准的视频信号输出。工业相机在机器视觉领域得到了广泛应用&#xff0c;包括质…

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

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

K8s-pod详解3(pod调度)

Pod调度 在默认情况下&#xff0c;一个Pod在哪个Node节点上运行&#xff0c;是由Scheduler组件采用相应的算法计算出来的&#xff0c;这个过程是不受人工控制的。但是在实际使用中&#xff0c;这并不满足的需求&#xff0c;因为很多情况下&#xff0c;我们想控制某些Pod到达某…