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

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

一、常见的String case语句:

enum TestEnumType
{
    testType1,
    testType2,
}
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;
}

二、不那么常见的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;
}

三、阅读文档:

如查阅文档如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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的原创文章,著作权归作者所有,转载请注明原文出处,欢迎转载!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值