我有一个名为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)
对的效率相同?
那么我可以做些什么来获得更好的表现呢?