如何重构这个switch语句?

Joh*_*ith 4 c# refactoring switch-statement

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;
}
Run Code Online (Sandbox Code Playgroud)

试图获取当前类的内容的局部变量.由于字符串的工作方式(行为类似于值类型),我无法使用字典.有没有办法重构这个,以便它不需要这么多行来找到所选择的液体类?

Aus*_*nen 8

您可以使用属于Settings.Default(使用.Net 4.0测试)的索引器:

var liquidClass = Settings.Default[cmbLiquidClass.Text].ToString();
Run Code Online (Sandbox Code Playgroud)