LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C#中 switch 使用的探索

admin
2024年10月23日 16:45 本文热度 40

前言

分支结构在程序设计非常关键程序流程控制语句。switch 语句充当控制结构,支持根据变量的值执行不同的代码块。当我们需要将变量与多个常量值进行比较,并根据结果执行各种操作时,switch 也是常用选择。本文探索C#中 switch case 的使用。

基本语法

switch (expression){    case value1:        // 代码块        break;    case value2:        // 代码块        break;    case value3:        // 代码块        break;    default:        // 没有匹配的代码块        break;}

说明:

1、expression: 要检查的值或变量

2、case: 每个 case 标签都包含一个常量值,以便与表达式进行比较。

3、break: 终止 switch 块。没有中断,则进入下一个情况。

4、default: 可选项,如果没有任何 case 标签与表达式匹配,则执行此命令。

使用示例

1、使用 int 的 switch 的示例
using System.Text;
namespace Fountain.WinConsole.SwitchDemo{    internal class Program    {        static void Main(string[] args)        {            int expression = 3;            switch (expression)            {                case 1:                    Console.WriteLine("满足的条件是1");                    break;                case 2:                    Console.WriteLine("满足的条件是2");                    break;                case 3:                    Console.WriteLine("满足的条件是3");                    break;                default:                    Console.WriteLine("不在指定的条件范围");                    break;            }            Console.ReadKey();        }    }}
//执行结果为满足的条件是3

2、带字符串的 switch 示例

using System.Text;namespace Fountain.WinConsole.SwitchDemo{    internal class Program    {        static void Main(string[] args)        {            string expression = "ZTO";            switch (expression)            {                case "ZTO":                    Console.WriteLine("承运商中通");                    break;                case "YTO":                    Console.WriteLine("承运商是圆通");                    break;                case "YUNDA":                    Console.WriteLine("承运商是韵达");                    break;                default:                    Console.WriteLine("不在指定的条件范围的承运商");                    break;            }            Console.ReadKey();        }    }}
//执行结果为承运商中通

3、 多个满足条件使用一个代码块

using System.Text;
namespace Fountain.WinConsole.SwitchDemo{    internal class Program    {        static void Main(string[] args)        {            string expression = "CNZTO";            switch (expression)            {                case "CNZTO":                case "JDZTO":                    Console.WriteLine("承运商是中通");                    break;                case "CNYUNDA":                case "JDYUNDA":                    Console.WriteLine("承运商是韵达");                    break;                default:                    Console.WriteLine("不在指定的条件范围的承运商");                    break;            }            Console.ReadKey();        }    }}//执行结果为承运商中通

4、在case中使用 when 子句 【.NET Framework 4.7 以上】

.NET Framework 4.7 引入了模式匹配,由 when 关键字促进,允许在 switch 语句中合并更复杂的条件。
using System.Text;
namespace Fountain.WinConsole.SwitchDemo{    internal class Program    {        static void Main(string[] args)        {            int expression = 7;            switch (expression)            {                case int n when (n >= 1 && n <= 10):                    Console.WriteLine("整数值在1与10之间");                    break;                case int n when (n > 10):                    Console.WriteLine("整数值大于10");                    break;                default:                    Console.WriteLine("整数值小于1");                    break;            }            Console.ReadKey();        }    }}//执行结果为整数值在110之间

5、switch表达式 【.NET Framework 4.8 以上版本】

.NET 5 引入了 switch 表达式,它比传统的 switch 语句更简洁。它们允许您使用模式匹配并从表达式返回一个值。
using System.Text;
namespace Fountain.WinConsole.SwitchDemo{    internal class Program    {        static void Main(string[] args)        {            int expression = 2;            string result = expression switch            {                1 => "满足的条件是1",                2 => "满足的条件是2",                3 => "满足的条件是3",                _ => "不在指定的条件范围"            };            Console.WriteLine(result);            Console.ReadKey();        }    }}//执行结果为满足的条件是1

6、enum 和 switch 一起使用

using System.Text;
namespace Fountain.WinConsole.SwitchDemo{    internal class Program    {        static void Main(string[] args)        {            Operation operation = Operation.Subtract;            int firstnum = 4;            int secondnum = 3;            switch (operation)            {                case Operation.Add:                    Console.WriteLine($"计算结果: {firstnum + secondnum}");                    break;                case Operation.Subtract:                    Console.WriteLine($"计算结果: {firstnum - secondnum}");                    break;                case Operation.Multiply:                    Console.WriteLine($"计算结果: {firstnum * secondnum}");                    break;                default:                    Console.WriteLine("无效操作");                    break;            }            Console.ReadKey();        }    }    public enum Operation    {        Add,        Subtract,        Multiply    }}//执行结果为计算结果: 1

7、使用元组模式的 Switch【.NET Framework 4.7 以上版本】

using System.Text;
namespace Fountain.WinConsole.SwitchDemo{    internal class Program    {        static void Main(string[] args)        {            string firstName = "叶凡";            string lastName = "";            (string firstName, string lastName) personDetail = (firstName,lastName);
           switch (personDetail)            {                case ("虾米", "无"):                    Console.WriteLine($"您好, {firstName} {lastName}");                    break;                case ("叶凡", _):                    Console.WriteLine($"您好, {firstName}");                    break;                default:                    Console.WriteLine("您好, Unknown!");                    break;            }            Console.ReadKey();        }    }}//执行结果为您好, 叶凡

小结

以上通过多种使用示例,探索了switch语句使用方法。


该文章在 2024/10/24 8:58:27 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved