在做這樣的事情:C#字典TryGetValue爲int值,如何避免重複查找
int value;
if (dict.TryGetValue(key, out value))
{
if (condition)
{
//value = 0; this copies by value so it doesn't change the existing value
dict[key] = 0;
}
}
else
{
dict[key] = 0;
}
有什麼方法可以讓我避免索引查找替換現有的價值?我已經使用TryGetValue驗證了密鑰是否存在,因此看起來像是一種浪費,不得不再次通過索引檢索值。
在另一個註釋中,與我的代碼的else {}部分一樣,在添加新值或替換舊值時使用索引器通常被認爲是很好的做法,並且添加以清楚說明您正在添加而不是替換?或者我應該每次只使用索引器?我學會了使用字典的方式,我總是做一個TryGetValue查找,並在else部分處理沒有密鑰存在的情況。
你不會查找它兩次。 – 2013-04-09 13:52:26
@ DanielA.White:使用索引器進行查找IIRC; p – leppie 2013-04-09 13:53:09
您的(條件)是否依賴於「值」? – 2013-04-09 13:53:11