C#8.0的新功能⼀:switch表达式
使⽤switch语句时,使⽤switch表达式可以编写更少的代码⾏。如果您有⼀个switch语句根据输⼊来设置/返回⼀个值,这将很有⽤。在C#8之前,可以使⽤以下代码将int转换为其等效的字符串:
string word;
switch(number)
{
case1:
word ="one";
break;
case2:
word ="two";
break;
case3:
word ="three";
break;
default:
throw new ArgumentOutOfRangeException(nameof(number));
}
switch语句表示范围在前⾯的代码中,如果输⼊的int数不是1,2或3,则会引发异常,否则将可变字设置为字符串表⽰形式“⼀”,“⼆”或“三”。
在C#8中,我们可以改⽤switch表达式。switch表达式返回⼀个值,这意味着我们可以将字符串返回到word变量中,如下所⽰:
string word = number switch
{
1=>"one",
2=>"two",
3=>"three",
_ =>throw new ArgumentOutOfRangeException(nameof(number))
};
将此版本与第⼀个版本进⾏⽐较,您会发现我们的代码少了很多,我们没有所有重复的case和break。
还要注意,默认块已被引发异常的表达式替换。
还要注意,由于我们不在乎该值,因此代码使⽤了⼀个_。(丢弃是“在应⽤程序代码中有意未使⽤的占位符变量”(MS))。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论