我正在使用遗留的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
的第一种方法。它将遵循样式指南,这将使代码的意图最清晰。
大多数风格指南都说应该使用'默认'语句。