【发布时间】:2012-07-13 03:19:05
【问题描述】:
我在 c# 中有一个 switch case 语句,这里所有的 case 我都作为私有常量,这里有什么不好的编程习惯,或者我需要在这里使用枚举,在 case 块中使用枚举器。我只有三个常量这里显示,我有十个常量和十个案例块
private const String FEASIBLESIZE = "Total FEASIBLESIZE";
private const String AVAILABLESIZE = "Total AVAILABLESIZE";
private const String EXCESSSIZE = "Total EXCESSSIZE";
.
.
switch (value.ToString())
{
case FEASIBLESIZE:
Level.Add(TEAMSIZE, test.ToString());
break;
case AVAILABLESIZE:
Level.Add(BROADSIZE, test.ToString());
break;
case EXCESSSIZE:
Level.Add(NARROWSIZE, test.ToString());
break;
.
.
.
【问题讨论】:
-
ALLCAPS 使您的 C# 代码看起来像 70 年代初用 COBOL 编写的代码。
-
这里有异味。为什么要将 Value 转换为字符串?
-
c#中常使用大写的常量,就是这种情况。
-
@TomasGrosup,是的,正如我们在这个问题中看到的那样,不幸的是,情况仍然如此。但这并不意味着standard C# naming conventions 推荐它。让我引用:
Do not use SCREAMING_CAPS。所以,是的,有些人仍在使用这个完全可怕的约定这一事实并不意味着这是 C# 标准约定。
标签: c# switch-statement