当前位置:   article > 正文

C#探索之路(5):表现力不够但简洁的switch 表达式_c# switch表达式

c# switch表达式

switch 表达式 - 使用 switch 关键字的模式匹配表达式

一、常见的String case语句:

enum TestEnumType
{
    testType1,
    testType2,
}
  • 1
  • 2
  • 3
  • 4
  • 5
public string Test(TestEnumType testValue)
{
    string strOuputValue = string.Empty;
    switch (testValue)
    {
        case TestEnumType.testType1:
            strOuputValue = "testType1";
            break;
        case TestEnumType.testType2:
            strOuputValue = "testType2";
            break;
        default:
            strOuputValue = "默认值";
            break;
    }
    return strOuputValue;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

二、不那么常见的switch 表达式

但C# 8.0版本后,有了switch表达式,其实仅仅式将Switch作为一个关键字来使用,下面的例子可以很好的进行理解,就不进行深入解释了,而下划线_则相当于原来switch case中的default break;引入这一点就足够了;

public string Test(TestEnumType testValue)
{
    string strOuputValue = string.Empty;
    strOuputValue = testValue switch
    {
        TestEnumType.testType1 => "testType1",
        TestEnumType.testType2 => "testType2",
        _ =>"默认值"
    };
    return strOuputValue;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

三、阅读文档:

如查阅文档如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r77gfdny-1675675904135)(E:/LearnPath/[0006]Note/WizNote/images/image-20230206172905166.png)]

四、总结:

此次的这个发现也是由于偶然间在项目中第一次看到,这种表达方式挺新颖的,不过有的时候如果判断条件并不多的话,可以直接通过三目运算符直接替代,或者通过if else的方式取代,以及switch case常见的方式取代,所以通常来说我们会比较少遇见,但是其中的效果也是等效的,无非就是通过判断变量所满足的条件,实现对应的逻辑。
并且,如果在某些逻辑并不需要这么复杂的情况下,我的建议是直接采用可读性最好的一种方式去进行表达。无可厚非,每个人的编程习惯都不一样,符合自己的编程习惯的,符合项目组、团队的编程习惯的方式就式一个好的方式;

公众号:平平无奇代码猴
也可以搜索:Jackiie_wang 公众号,欢迎大家关注!欢迎催更!留言!

作者:ProMer_Wang

链接:https://blog.csdn.net/qq_43801020/article/details/128905418

本文为ProMer_Wang的原创文章,著作权归作者所有,转载请注明原文出处,欢迎转载!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/142268
推荐阅读
相关标签
  

闽ICP备14008679号