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

问题描述 投票:2回答:2

我正在使用遗留的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”

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

c# switch-statement
2个回答
3
投票

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

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

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


-2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.