C#探索之路:表现力不够但简洁的switch 表达式
Posted ProMer_Wang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#探索之路:表现力不够但简洁的switch 表达式相关的知识,希望对你有一定的参考价值。
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;
三、阅读文档:
如查阅文档如下图所示:
四、总结:
此次的这个发现也是由于偶然间在项目中第一次看到,这种表达方式挺新颖的,不过有的时候如果判断条件并不多的话,可以直接通过三目运算符直接替代,或者通过if else的方式取代,以及switch case常见的方式取代,所以通常来说我们会比较少遇见,但是其中的效果也是等效的,无非就是通过判断变量所满足的条件,实现对应的逻辑。
并且,如果在某些逻辑并不需要这么复杂的情况下,我的建议是直接采用可读性最好的一种方式去进行表达。无可厚非,每个人的编程习惯都不一样,符合自己的编程习惯的,符合项目组、团队的编程习惯的方式就式一个好的方式;
作者:ProMer_Wang
链接:https://blog.csdn.net/qq_43801020/article/details/128905418
本文为ProMer_Wang的原创文章,著作权归作者所有,转载请注明原文出处,欢迎转载!
以上是关于C#探索之路:表现力不够但简洁的switch 表达式的主要内容,如果未能解决你的问题,请参考以下文章