2012-09-10 61 views
1

我正在編寫一個Windows Phone應用程序(在C#中),它有很多數據。字典的大小對於應用來說太大了?

我想將這些數據存儲在字典中(或者理想情況下是一個數組),但是會有大約10 000個字典值(分佈在3-4個字典中)。你認爲這些字典會太大,並佔用太多的內存嗎?

字典將Dictionary<int, customClass>

這顯然是更好的使用數組,但你覺得它是確定使用字典?

+2

我認爲找出最簡單的方法是實現應用程序,看看是否遇到任何性能問題。 –

+0

嗯。誠然,我想我可以試試:) – Toadums

+1

:)在一個嚴肅的說明,它取決於各種各樣的事情。如果您事先知道您的應用將運行的所有Windows Phone型號(也許它是公司內部的應用?),那麼這會讓您的生活更輕鬆,因爲您可以爲該手機設計。如果它是全部* Windows手機,那麼您需要設計您想要支持的最低端型號。 –

回答

1

像dictionary/array/list這樣的集合中的項目數量並不重要,10w整數的成本低於1M(大約100,000 * 4字節)。所以內存成本主要取決於您的CustomClass中存儲的內容。如果這個類只包含幾個基本屬性,它也不會花費太多的內存。你不應該擔心內存的成本,除非你在文件的屬性中加載文件的數據。

+0

4/6的類只是整數,字符串,布爾類型。另外2個在他們裏面有列表... – Toadums

+0

@Toadums:那麼字典的大小主要取決於列表的項目。 –

1

這一切都取決於您要存儲的實際對象的數量......以及這些對象的大小。字典本身只有32(或64)位×10,000×2(鍵和值)加上一個小的開銷 - 即小...因爲字典只存儲一個指向你的對象的指針。

相關問題