DataSet怎么这么占内存?
写了这样一段代码
DataSet ds=new DataSet();
DataTable dt = ds.Tables.Add("dt");
dt.Columns.Add("c1",typeof(Double));
dt.Columns.Add("c2", typeof(Double));
dt.Columns.Add("c3", typeof(Double));
dt.Columns.Add("c4", typeof(Double));
dt.Columns.Add("c5", typeof(Double));
dt.Columns.Add("c6", typeof(Double));
dt.Columns.Add("c7", typeof(Double));
dt.Columns.Add("c8", typeof(Double));
dt.Columns.Add("c9", typeof(Double));
for (int i = 1; i < 1000000;i++ )
{
DataRow dr = dt.NewRow();
ds.Tables["dt"].Rows.Add(dr);
}
然后打开任务管理器看占用内存。发现这段代码运行后占用了200M内存。不明白了,每个double 8个字节,每个row应该是72字节,用数组的话总共占用72M内存就足够了吧?dataset里存了什么信息让它占用内存几乎大到三倍呢。