2010-10-28 30 views
1

我與同事討論了是否更好地使用字典並在結果集更改時重新填充它,或者只是使用linq循環遍歷列表中的所有元素時間。任何不使用字典的理由

我們試圖映射父/子關係,並且我建議使用ParentID作爲字典鍵,並將字典值作爲自定義對象。

我們通常需要迭代所有父/子並在列表中運行。

在這種情況下,你有什麼理由不想使用字典嗎?如果是的話,你會用什麼來代替

+0

數據庫,也許? – 2010-10-28 05:24:26

+1

代碼兩個和配置文件,看看哪個勝利。如果沒有關於確切情況的更多信息,很難確定什麼是好建議。例如:您的常見負載有多大,您需要支持多大的負載(未來驗證),哪個代碼更簡單(您的描述會有很多不足之處 - 真實代碼會有所幫助),這甚至是瓶頸爲你的應用程序,或者你只是在拍攝微風等。 – 2010-10-28 05:57:13

回答

1

如果您確實需要每次迭代整個集合,那麼獲得Dictionary將不會有太多(如果有)益處。另一方面,如果你偶爾需要通過鍵找到特定的實例,那麼Dictionary可能就是你需要的。

請注意,即使您正在使用字典,您仍然可以在需要時循環遍歷值列表,因爲沒有比遍歷正常的List迭代更多的「權重」,但是您仍然可以字典功能,如果需要的話。

1

性能明智,它將取決於你的具體應用程序,所以你必須測試。

相關問題