【发布时间】:2012-12-13 21:25:22
【问题描述】:
string liquidClass = string.Empty;
switch (cmbLiquidClass.Text)
{
case "LiquidClass1":
liquidClass = Settings.Default.LiquidClass1;
break;
case "LiquidClass2":
liquidClass = Settings.Default.LiquidClass2;
break;
case "LiquidClass3":
liquidClass = Settings.Default.LiquidClass3;
break;
case "LiquidClass4":
liquidClass = Settings.Default.LiquidClass4;
break;
case "LiquidClass5":
liquidClass = Settings.Default.LiquidClass5;
break;
case "LiquidClass6":
liquidClass = Settings.Default.LiquidClass6;
break;
case "LiquidClass7":
liquidClass = Settings.Default.LiquidClass7;
break;
case "LiquidClass8":
liquidClass = Settings.Default.LiquidClass8;
break;
case "LiquidClass9":
liquidClass = Settings.Default.LiquidClass9;
break;
}
试图进入一个局部变量当前类的内容。由于字符串的工作方式(表现得像值类型),我不能使用字典。有什么方法可以重构它,以便不需要这么多行来找到所选的液体类?
【问题讨论】:
-
使用数组和for循环?
-
为什么你不能使用
Dictionary? -
@ATaylor:是不是不能在设置文件中存储收藏?
-
@TimSchmelter 因为字符串的工作方式。呵呵。
-
从哪里获得组合框的数据源?
标签: c# refactoring switch-statement