我正在编写一个 Windows Phone 应用程序(在 c# 中),其中包含大量数据。
我想将此数据存储在字典中(或者不太理想的数组),但将有大约 10 000 个字典值(分布在 3-4 个字典中)。你觉得这些字典会不会太大,占用太多内存?
字典将是Dictionary<int, customClass>
使用数组显然会更好,但是您认为使用字典可以吗?
我正在编写一个 Windows Phone 应用程序(在 c# 中),其中包含大量数据。
我想将此数据存储在字典中(或者不太理想的数组),但将有大约 10 000 个字典值(分布在 3-4 个字典中)。你觉得这些字典会不会太大,占用太多内存?
字典将是Dictionary<int, customClass>
使用数组显然会更好,但是您认为使用字典可以吗?
像字典/数组/列表这样的集合中的项目数量并不重要,10w 个整数的成本不到 1M(大约 100,000 * 4bytes)。所以内存成本主要取决于你的CustomClass
. 如果该类仅包含一些原始属性,那么它也不会占用太多内存。除非您执行诸如将文件数据加载到类的属性中之类的操作,否则您不必担心内存成本。
这完全取决于您存储的实际对象的数量......以及这些对象的大小。字典本身只有 32(或 64)位 x 10,000 x 2(键和值)加上一个小的开销 - 即小......因为字典只存储指向您的对象的指针。