C#替换切换案例与字符串

时间:2015-11-12 05:56:53

标签: c# string performance switch-statement

我有一个名为GetResult()的方法,根据mode字符串指向其他方法:

public double GetResult(string mode)
{
    switch(mode)
    {
        case "button1": return ReturnButton1();
        case "button2": return ReturnButton2();
        case "ch1div" : return ReturnCh1Div();
        case "ch2div" : return ReturnCh2Div():
        //And 26 more lines of these..
    }
 }

请注意,mode字符串是从excel表中获取的。所以调用类似于:GetResult(GetDataFromExcel(ColumnName));

我关注的是效率问题。我相信有更好的方法。最初我想过enum

private enum mode : int
{
    button1 = 1,
    button2 = 2,
    ch1div = 3,
    ch2div = 4,
    //etc etc
}

但是我从excel中检索mode字符串,我看不出先将每个mode从字符串转换为int是多么好。我的意思是它基本上和switch(string)对的效率相同?

那么我可以做些什么来获得更好的表现呢?

0 个答案:

没有答案