使用字典需要比2D数组更多的内存吗?

时间:2011-03-24 07:52:45

标签: c# windows-phone-7

我的要求是我正在为WP7制作一个应用程序,所以我必须处理对象的内存消耗。我有大约1000条记录的数据到硬编码数据。因此,字典比2D数组更容易访问,但它比2D数组消耗更多的内存。这也将是快速搜索。我知道在字典中搜索会很快,我们可以通过给出键来轻松获取相应键的值,但是它是否在内部进行线性搜索。

1 个答案:

答案 0 :(得分:3)

使用词典。 1000条记录不是很多。字典中的搜索代码非常简单:

var val = dict[key];

而在2D数组中进行搜索的代码很好。你在排序数组吗?这可以让你更快找到东西。但也比做线性搜索更复杂。然后,您需要确保已排序的属性保持不变。

哦,然后你必须维护另一个查找实现。

不要去那里!

当你内存不足时,也许你可以开始考虑将字典优化到其他结构。但你不会耗尽内存。 YAGNI。