我现在有一段代码,看起来像这样:写开关更有效地
switch (objectname)
{
case "objectbla":
DoSomething(1, objectName, someOtherVar);
break;
case "objectblabla":
DoSomething(2, objectName, someOtherVar);
break;
case "objectetc":
DoSomething(3, objectName, someOtherVar);
break;
case "objectanother":
DoSomething(4, objectName, someOtherVar);
break;
case "objectobj":
DoSomething(5, objectName, someOtherVar);
break;
default:
break;
}
现在,眼看这个开关是如何重复的,只有第一个参数一次计数,我敢肯定,这可能写得更有效率。不过,我不确定。什么会是一个更好的方式来写这个?
那么,如果'objectname'是一个'enum',枚举的值可以被传递到'DoSomething的((INT)yourEnumValue,对象名,someOtherVar);' – DiskJunky
把你所有的字符串的字典词典''并做一个单独的调用'DoSomething(dict [objectname],objectName,someOtherVar)' –
或'Array.IndexOf(stringArray,objectname)+ 1' –