赞
踩
switch
关键字的模式匹配表达式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; }
但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;
}
如查阅文档如下图所示:
此次的这个发现也是由于偶然间在项目中第一次看到,这种表达方式挺新颖的,不过有的时候如果判断条件并不多的话,可以直接通过三目运算符直接替代,或者通过if else的方式取代,以及switch case常见的方式取代,所以通常来说我们会比较少遇见,但是其中的效果也是等效的,无非就是通过判断变量所满足的条件,实现对应的逻辑。
并且,如果在某些逻辑并不需要这么复杂的情况下,我的建议是直接采用可读性最好的一种方式去进行表达。无可厚非,每个人的编程习惯都不一样,符合自己的编程习惯的,符合项目组、团队的编程习惯的方式就式一个好的方式;
公众号:平平无奇代码猴
也可以搜索:Jackiie_wang 公众号,欢迎大家关注!欢迎催更!留言!
作者:ProMer_Wang
链接:https://blog.csdn.net/qq_43801020/article/details/128905418
本文为ProMer_Wang的原创文章,著作权归作者所有,转载请注明原文出处,欢迎转载!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。