我現在有一段代碼,看起來像這樣:寫開關更有效地
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' –