2016-08-03 18 views

回答

1

字典是基於散列表的,密鑰查找時間是O(1),而List的查找時間是O(n)。對於大數據量,字典會更快。關於谷歌和谷歌這方面的信息已經有很多,例如C# : Why is dictionary so much faster than list?

+0

上進行查找如果(並且只有)你知道你正在尋找的關鍵字,它纔是O(1)。對於其他類型的查找,它的表現要差得多;例如,如果您必須搜索一個值,則爲O(n)。 – EJoshuaS

+1

我假設了密鑰查找。否則,沒有理由使用字典。 – DVK

+1

字典實際上是我的第一個想法,但我認爲他必須澄清他的帖子,以確定是否在這種情況下這是一個合適的解決方案 - 沒有足夠的信息說明他計劃如何進行查找或確切地說有多少數據。他可能(或可能不)是事先知道密鑰的情況,例如,他沒有分享足夠的信息以確定知道。 – EJoshuaS

0

如果你擔心Dictionary由於性能原因不適合你,那麼也許字典不是正確的方法存儲數據。

由於您沒有提供太多的信息,我會盡量通過猜測您有大量的數據可能持續存在。在這種情況下,數據庫可以解決問題,因爲SQL數據庫比數組或對象列表更具可擴展性。

您甚至可以使用Entity Framework作爲對象訪問您的數據庫結構。數據庫中的表格將映射到具有每列屬性的類。這將產生原始SQL爲您提供的性能,除非您正在構建更復雜的查詢。

但它絕對值得一看。

相關問題