日期:2014-05-18  浏览次数:20710 次

Dictionary<int, object>使用中的疑惑!!
在使用Dictionary泛型类时我定义的结构是Dictionary <int,   object>   list   =   new  
Dictionary <int,   object>   ();
我测试存放了1000万条记录
存储只存储了 <int,null>   即object存储为空

在检索速度上基本能满足要求,出现的问题是占用内存比较大。

而按对对象占用内存计算应该不会太大。
我的计算方式是:10000000*4字节(int32长度)=大概40M+
而运行过程中从任务管理器看到占用内存160+M。
这个内存是从那里产生的呢?

------解决方案--------------------
其他开销吧?
最好用别的方法来测试。看任务管理器不准
------解决方案--------------------
可能在范型Dictionary中添加了别的处理 所以增加了内存
------解决方案--------------------
Dictionary 对象本身不占用内存吗?异想天开...

Dictionary 对象要维护 Dictionary.KeyCollection 和 Dictionary.ValueCollection 两个列表...不要内存吗?

去超市看看...容器也是有体积和重量的...
------解决方案--------------------
160M不算大吧,试着放点别的进去,可以测试出开销的
------解决方案--------------------
1000千万不多..加多100陪试试..
------解决方案--------------------
自从.net出现,内存的使用就管不了了。。。
------解决方案--------------------
.net有很多你想不到的东西占用内存