C#中使用 => 运算符的 switch 表达式

这篇具有很好参考价值的文章主要介绍了C#中使用 => 运算符的 switch 表达式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、关于switch 语句

1.switch 语句及语法结构

2.switch 语句的一些重要注意事项

3.通常情况下的示例

1.示例1

2.示例2 

二、使用 => 运算符的 switch 表达式

1.关于switch表达式

2.示例1

3.示例2


一、关于switch 语句

1.switch 语句及语法结构

        C# 中的 switch 语句是一种控制结构,允许您将一个表达式或值与多个值进行比较,并根据匹配的结果执行不同的代码部分。它的语法如下:

switch(expression) 
{
    case value1:
    // 如果 expression 等于 value1,则执行此代码部分
        break;
    case value2:
    // 如果 expression 等于 value2,则执行此代码部分
        break;
    // 更多的情况...
    default:
    // 如果 expression 不匹配任何一个情况,则执行此代码部分
        break;
}

2.switch 语句的一些重要注意事项

  • switch 语句中的每个 case 必须具有唯一的值。
  • case 值可以是常量表达式或枚举成员。
  • 可以在 switch 语句中使用 break、continue、return 或 throw 语句来退出当前的代码块。
  • 如果在 switch 语句中没有指定 default 情况,则最后一个 case 之后的代码将作为默认情况执行。
  • switch 语句可以用于任何标量类型,包括字符串。
  • 如果在先使用了return关键字,再后使用 break关键字,则会出现警告:

严重性

代码

说明

项目

文件

禁止显示状态

警告

CS0162

检测到无法访问的代码

CalcByClass

D:\MR\05\114\CalcByClass\CalcByClass\Form1.cs

148

活动

        无法访问到达break 语句,因为它出现在return 语句之后。return 语句结束封闭的 case 分支。

        解决办法:删除在后使用的关键字 break关键字。

3.通常情况下的示例

1.示例1

//  switch 语句
namespace _114_1
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            ArgumentNullException.ThrowIfNull(args);

            int x = 5;
            switch (x)
            {
                case 1:
                    Console.WriteLine("x 等于 1");
                    break;
                case 2:
                    Console.WriteLine("x 等于 2");
                    break;
                case 3:
                    Console.WriteLine("x 等于 3");
                    break;
                default:
                    Console.WriteLine("x 不等于 1、2 或 3");
                    break;
            }
        }
    }
}
//
/*
x 不等于 1、2 或 3

 */

2.示例2 

// switch、case、return、break
namespace _114_2
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            ArgumentNullException.ThrowIfNull(args);

            int i = 23;
            int j = 17;
            string type = "*";
            string temp;
            temp = CCount.Sum(i, j, type).ToString();
            Console.WriteLine("{0} {1} {2} = {3}",i, type, j, temp);
        }
    }
    public class CCount
    {
        public static int Sum(int a, int b, string type)
        {
            switch (type) // .NET8.0以上会提示IDE0066,使用switch表达式警告
            {
                case "+":
                    return a + b; /*break; */
                case "-":
                    return a - b; /*break; */
                case "*":
                    return a * b; /*break; */
                case "/":
                    return a / b; /*break; */
                default:
                    return 0; /*break; */
            }
        }
    }
}
//运行结果:
/*
23 * 17 = 391

 */

二、使用 => 运算符的 switch 表达式

1.关于switch表达式

        在 C# 8.0 中引入的 switch 表达式,而不是 switch 语句,VS2019以上版本。

csharp_style_prefer_switch_expression 

属性

说明

选项名称

csharp_style_prefer_switch_expression

选项值

true

首选使用switch表达式

false

首选使用switch语句

默认选项值

true

       

2.示例1

        将上述示例2转换为使用=> 运算符的 switch表达式。 

        这是一个使用 => 运算符的 switch 语句的示例,它将根据提供的运算符执行不同的算术运算。
        这个 switch 语句接受两个参数 a 和 b,以及一个运算符,然后根据运算符执行相应的算术运算。每个 case 语句使用 => 运算符将运算符和要执行的算术运算关联起来。
        例如,如果运算符是 “+”,则执行 a + b 并返回结果。如果运算符是 “-”,则执行 a - b 并返回结果。同样,对于 “*” 和 “/”,将执行相应的乘法和除法运算。
        如果提供的运算符不是 switch 语句中定义的任何一个,则执行 default 代码部分,并返回 0。 

// 使用=> 运算符的 switch表达式
namespace _114_3
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            ArgumentNullException.ThrowIfNull(args);

            int i = 23;
            int j = 17;
            string type = "*";
            string temp;
            temp = CCount.Sum(i, j, type).ToString();
            Console.WriteLine("{0} {1} {2} = {3}", i, type, j, temp);
        }
    }
    public class CCount
    {
        public static int Sum(int a, int b, string type)
        {
            return type switch 
            {
                "+" => a + b,
                "-" => a - b,
                "*" => a * b,
                "/" => a / b,
                _ => 0,
            };
        }
    }
}
//运行结果:
/*
23 * 17 = 391

 */

3.示例2

        该方法使用CCount类的Result方法。Result方法使用=>运算符的switch表达式返回相应的结果字符串。文章来源地址https://www.toymoban.com/news/detail-829711.html

// 使用=> 运算符的return () switch的表达式
namespace _114_4
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            ArgumentNullException.ThrowIfNull(args);

            int input = 4;
            Console.WriteLine(CCount.Result(input)); // 输出 "Four"
        }
        
    }
    public class CCount
    {
        internal static string Result(int value)
        {
            return (value) switch 
            {
                1 => "One",
                2 => "Two",
                3 => "Three",
                4 => "Four",
                _=> "Default",
            };
        }
    }
}

到了这里,关于C#中使用 => 运算符的 switch 表达式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MATLAB 运算符和表达式

    一、算术运算符 MATLAB中的算术运算符用于执行基本的算术运算,包括加、减、乘、除、取余和幂运算。下表列出了MATLAB中的算术运算符及其用法: 运算符 描述 示例 其中,点运算符用于执行元素级别的运算,即对两个向量或矩阵中的每个元素进行运算。 二、逻辑运算符 MA

    2024年02月13日
    浏览(56)
  • c语言运算符表达式

    算数运算符: 用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(–)共七种。 加加在后,先计算表达式的结果在计算变量的值 a++; 加加在前,先计算变量的值在进行表达式的计算 ++a; int a=10; 将10赋值给整型变量a //a+=3;等同于 a=a+3;

    2024年02月08日
    浏览(65)
  • 3.3 运算符和表达式

    几乎每一个程序都需要进行运算,对数据进行加工处理,否则程序就没有意义了。要进行运算,就需规定可以使用的运算符。C语言的运算符范围很宽,把除了控制语句和输入输出以外几乎所有的基本操作都作为运算符处理,例如将赋值符“=”作为赋值运算符、方括号作为下

    2024年02月11日
    浏览(49)
  • 运算符、表达式和内置对象

    一、实验目的 1.会使用IDLE编辑器编写简单数据类型; 2.掌握常量、变量的表示方式和简单操作; 3.掌握Python语言中基本的输入和输出方法; 4.掌握Python语言的各种运算符以及这些运算符的表达式; 5.掌握字符串类型的格式化方法; 6.能综合应用所学基础知识编写一些基本的程

    2024年02月07日
    浏览(65)
  • C++的运算符与表达式

    运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C++内置了丰富的运算符,并且提供了以下类型的运算符: 算数运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 在程序中,运算符是用来操作数据的,因此这些数据也被称为操作数,使用运算符将操

    2024年02月06日
    浏览(42)
  • JS基础-表达式和运算符

    表达式 :是由操作数和运算符(可选)构成的并产生运算结果的语法结构。例如:3+5 运算符 :进行计算或者逻辑运算的符号,比如表达式中的 + 号 表达式分类:算术、关系、逻辑、赋值、组合 以下符号都是算数运算符,运算符的就是运算 意义 运算符 加 + 减 - 乘

    2024年02月09日
    浏览(52)
  • Verilog常用运算符及表达式

    本文详细介绍了Verilog常用的运算符和表达式,特别是分享了处理“计算位宽溢出”和“负数”的可行方式,帮助读者更加轻松地理解和掌握Verilog语言的运算符。 算数运算符:加(+)、减(-)、乘(*)、除(/)、取余(%) 赋值运算符:非阻塞赋值(=)、阻塞赋值(=);

    2024年02月08日
    浏览(56)
  • js常用运算符和表达式

    JavaScript常用的运算符和表达式有: 用于执行基本的数学运算,包括加法(+)、减法(-)、乘法(*)、除法(/)、取余(%)等。 用于将值赋给变量,包括等号(=)、加等于(+=)、减等于(-=)、乘等于(*=)、除等于(/=)等。 用于比较两个值的大小或是否相等,包括等

    2024年02月09日
    浏览(46)
  • (77)TCL脚本命令【运算符(expr运算表达式)】

    1.1 TCL简介 1.2 TCL的起源与发展 1.3 TCL语言与库介绍 1.4 TCL运行环境 1.5 TCL脚本命令【运算符(expr运算表达式)】 1.6 结束语 Tcl 语言的全称 Tool Command Language,即工具命令语言。这种需要在 EDA 工具中使用的相当之多,或者说几乎每个 EDA 工具都支持 Tcl 语言。所以对于 IC 专业的

    2024年02月16日
    浏览(41)
  • C++学习之运算符与表达式

    基本的算数运算有加法、减法、乘法、除法和取模(求余数),对应的算数运算符分别为:+、-、*、/、%。至于用法,大家应该耳熟能详,这里不再过多赘述。 自增与自减运算符 运算符 说明 ++ 自增运算符,将数值增加一 - - 自减运算符,将数值减少一 该运算符主要有前置和

    2024年02月09日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包