两种风格的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语句,有什么区别? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章