• C# 第二章『基础语法』◆第2节:switch case语句


            C# switch case 语句也是条件语句的一种,与上一节介绍的《C# if else语句》是类似的,但在判断条件的选择上会有一些局限性。

    1. switch(表达式)
    2. {
    3. case1:
    4. 语句块 1;
    5. break;
    6. case2:
    7. 语句块 2;
    8. break;
    9. ...
    10. default:
    11. 语句块 n;
    12. break;
    13. }

            在这里,switch 语句中表达式的结果必须是整型、字符串类型、字符型、布尔型等数据类型,即参数必须是sbyte、byte、short、ushort、int、uint、long、ulong、char、string、bool或者枚举类型中的一种。

            如果 switch 语句中表达式的值与 case 后面的值相同,则执行相应的 case 后面的语句块。如果所有的 case 语句与 switch 语句表达式的值都不相同,则执行 default 语句后面的值,语句块执行完毕后,执行break,使程序跳出switch语句。如果条件都不满足,则执行default中的语句块。

    •  case 语句后面的各常量值是不能重复的,且不可以是浮点类型的。
    • case后面的语句块可以有多条语句,不必适用大括号括起来。
    •  case语句和default语句的顺序可以改变,这不影响程序执行的结果。
    • 一个switch语句中只能有一个default语句,而且default语句可以省略。

            尽管c#不允许从一个分支直接进入到另一个分支,但是可以把多个分支标签附加到任意分支,只要这些分支标签之间没有插入可以执行语句。如下:

    1. using System;
    2. using System.Collections.Generic;
    3. using System.Linq;
    4. using System.Text;
    5. namespace _20220731_2
    6. {
    7. class Program
    8. {
    9. static void Main(string[] args)
    10. {
    11. Console.WriteLine();
    12. string strNum = Console.ReadLine();
    13. switch(strNum)
    14. {
    15. case "1":
    16. case "2":
    17. case "3":
    18. Console.WriteLine("111");
    19. break;
    20. default:
    21. Console.WriteLine("000");
    22. break;
    23. }
    24. Console.ReadKey();
    25. }
    26. }
    27. }

    switch语句与if...else if...else语句的区别

            if...else if...else语句可以处理多分支选择的情况,但是它主要是对布尔表达式、关系表达式或逻辑表达式进行判断的,而switch分支语句主要对常量值进行判断。

            如果在程序开发中,如果遇到多分支选择的情况,并且判断条件不是关系表达式、逻辑表达式或浮点类型,就可以使用switch语句,这样效率会更高一些。

  • 相关阅读:
    数学基础(三)PCA原理与推导
    未来城市:数字孪生技术助力智慧城市构建
    成都瀚网科技有限公司抖音带货靠谱么
    寻找特殊年号
    systemctl status taosd 一直无法启动解决
    包装类Integer类
    python每日一练-----电话号码的字母组合
    事实分布式与价值集中式
    error: invalid path ‘drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c‘
    DOM系列之触屏事件
  • 原文地址:https://blog.csdn.net/qq_45336030/article/details/125801989