我在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;
.
.
.
答案 0 :(得分:5)
除了糟糕的格式外,它看起来大致还可以。当然,如果不了解您的代码,这有点难以辨别。 Darin是正确的,因为你没有遵守默认的命名约定(在C#中所有的大写都是禁止的)。
但是我看到更糟糕的是,如果有任何安慰的话。
答案 1 :(得分:4)
您正在做的事情看起来像是可以使用Dictionary<string,string>
从一种尺寸类型到另一种尺寸类型的映射来替换。
var sizeMap = new Dictionary<string,string>();
sizeMap.Add(FEASIBLESIZE, TEAMSIZE);
sizeMap.Add(AVAILABLESIZE, BROADSIZE);
sizeMap.Add(EXCESSSIZE, NARROWSIZE);
而不是开关:
Level.Add(sizeMap[value.ToString()], test.ToString());
答案 2 :(得分:3)
请尝试用花括号来表示这种情况,这只是个人风格,但在代码行增长时也会有所帮助,并且也总是使用默认值:
case FEASIBLESIZE:
{
Level.Add(TEAMSIZE, test.ToString());
break;
}
default:
///...
break;
答案 3 :(得分:1)
糟糕的编程实践:
private const String FEASIBLESIZE = "Total FEASIBLESIZE";
良好的编程实践:
private const String FEASIBLE_SIZE = "Total FEASIBLESIZE";
更好的编程实践:
private const String FeasibleSize = "Total FEASIBLESIZE";
答案 4 :(得分:1)
你的常数似乎是Enum的候选者,我会选择Enum而不是const ....