C#如何将默认的case语句与一个switch语句合并



我使用Visual Studio 2017开发4.5.2.NET Framework解决方案这是我的代码:

case "medium":
font1.Size = 14; 
font1.RGBColor = Color.Black;
font1.Bold = false;
break;
default:
font1.Size = 14; 
font1.RGBColor = Color.Black;
font1.Bold = false;
break;

VS告诉我将默认情况与";中等;案例所以我写这个:

case "medium":
default:
font1.Size = 14; 
font1.RGBColor = Color.Black;
font1.Bold = false;
break;

但是现在VS告诉我移除空的";中等;案例所以我写这个:

default:
case "medium":
font1.Size = 14; 
font1.RGBColor = Color.Black;
font1.Bold = false;
break;

但是VS再次告知移除空的"0";中等;案例那么,我如何将默认案例与现有案例合并呢?

选项1:

忽略VS。它不负责,你负责。如果保留它更清楚:保留它。你可以使用各种选项来抑制消息,以防止它扰乱你漂亮的干净构建。

选项2:

default: // note: includes "medium"

这不是如何将案例与默认案例合并的直接答案。这更多的是一个如何更好地组织您的代码来避免这种情况。

如果示例代码确实是作为解决方案一部分的真实代码,那么也许以不同的方式组织它会使其更易于管理。

在case语句给出font1默认值之前

font1.Size = 14; 
font1.RGBColor = Color.Black;
font1.Bold = false;

则在case语句中,去掉默认子句

case "medium":
font1.Size = 14; 
font1.RGBColor = Color.Black;
font1.Bold = false;
break;

如果没有事例语句与匹配,则这些值将是默认值

这样你就不会遇到警告

在某些情况下,这样做也比使用默认的情况要好,例如,假设";"小";只需要将Size设置为10,但保留默认的RGBColorBold。这样做不需要在case语句中设置这些值,这些值可能从上方通过

最新更新