我剛剛注意到Dictionary.TryGetValue(TKey key, out TValue value)
,並好奇哪種檢索字典中的值的方法更好。檢索字典值最佳實踐
我做傳統:
if (myDict.Contains(someKey))
someVal = myDict[someKey];
...
,除非我知道它有是在那裏。
是更好地只是做:
if (myDict.TryGetValue(somekey, out someVal)
...
哪個是更好的做法?一個比另一個快嗎?我會想象一下,Try版本會慢一點,因爲它吞噬了一個try/catch本身,並用它作爲邏輯,不是嗎?
謝謝!
TryGetValue稍快,因爲FindEntry只會被調用一次。 – Joe 2008-12-18 17:09:36
當你有一個大的字典時,TryGetValue會快得多 – Diadistis 2008-12-18 17:11:07