StringBuilder 内存溢出?
阳光柚子 2008-01-08 02:10:33 我在进行数据库方面的采集,提取的数据保存在StringBuilder中,有3个StringBuilder,分别是Update(保存更新数据)、Add(保存添加数据)、Delete(保存删除数据)。
当数据量巨大的时候(比如我连续删除了4W条记录),那么Delete里就保存了4W条记录,此时如果我直接把Delete输入到文本保存,是可以的(大约60M)。但是由于我需要对格式进行整理,对字符串头和尾添加一些包装信息,所以我把Update、Add和Delete放入一个新的StringBuilder Result内,格式如下:
Result.AppendFormat("<头部信息>{0}{1}{2}</尾部信息>",Update,Add,Delete);
此时程序就会抛出异常,报告内存溢出。而且即使我单独对Delete进行格式化,Delete.AppendFormat("<头部信息>{0}</尾部信息>",Delete);也同样溢出,只有进行插入操作Delete.Insert(0,"<头部信息>"); Delete.Insert(Delete.Length-1,"</尾部信息>");才可以
请问这是怎么回事?如何解决,谢谢!