两种风格的C#switch-return语句,有什么区别? [关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两种风格的C#switch-return语句,有什么区别? [关闭]相关的知识,希望对你有一定的参考价值。

我正在使用遗留的C#代码,并且看到两种样式的switch语句。我来自Python背景,因此这两个switch使用之间差异的细微差别使我望而却步

示例#1

public string SwitchExample1(int value)
{
    switch(value)
    {
        case 1: return "a";
        case 2: return "b";
        default: return "c";
    }
}

例#2

public string SwitchExample2(int value)
{
    switch(value)
    {
        case 1: return "a";
        case 2: return "b";
    }

    return "c";
}

在功能上它们是相同的 - 它们都在value != 1 && value != 2时返回“c”

这只是一种风格差异吗?或者是否有最佳实践要求您使用一个而不是另一个?

答案

没有实际的区别。两种格式的行为都与:

if(value==1)
    return "a";
else if(value==2)
    return "b";
else
    return "c";

强烈建议使用default的第一种方法。它将遵循样式指南,这将使代码的意图最清晰。

另一答案

大多数风格指南都说应该使用'默认'语句。

以上是关于两种风格的C#switch-return语句,有什么区别? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

C语言 counter=counter+1 是啥意思,为啥后面要加1,去掉行吗?与while 有什关系?

linux中设置任务调度两种方法:/etc/crontab文件和crontab -e命令,两种方式有什功能上的区别?

为什么很多新型编程语言都抛弃了 C 语言风格的 for 语句?

《蓝桥杯真题》:2017年单片机省赛(内附两种代码实现风格)

《蓝桥杯真题》:2017年单片机省赛(第八届)(内附两种代码实现风格)

shell脚本结构化语句