我很想知道,以下哪種方法更適合?按鍵選擇字典元素查找的方法?
//Dictionary dic<string, int>;
int getElementByKey1(string key)
{
if(dic.ContainsKey(key)) //Look-up 1
return dic[key]; //Look-up 2 in case of a "hit"
return null;
}
int getElementByKey2(string key)
{
try
{
return dic[key]; //Single look-up in case of a "hit"
}
catch
{
return null; //Exception in case of a "miss"
}
}
馬爾辛 - 給了一個很好的解決方案,以你的問題。我只想做一個側面說明,使用try/catch做決策總是一個不好的主意,因爲它慢得多。只能使用try/catch來捕獲意外的異常。 – Quintium 2013-04-11 20:31:38
@Quintium:「try/catch」塊的用法是什麼讓它變慢,或者只有在拋出異常時變得緩慢? – ahmd0 2013-04-11 20:32:59
@ ahmd0僅當實際拋出異常時。 – MarcinJuraszek 2013-04-11 20:41:44