我有以下代码:
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
{
strCsv.Append( XC.CleanForCsv(ds.Tables[0].Rows[i][j].ToString()) + ",");
}
strCsv.Append( "\r\n" + strCsv)
}
Dataset
包含8000条记录。仅在15条记录for
语句之后使用strCsv.Append( "\r\n" + strCsv)
循环遍历记录会引发异常System.OutOfMemoryException
。这个例外背后的原因是什么?
答案 0 :(得分:13)
看看这个:
strCsv.Append( "\r\n" + strCsv)
每次迭代的输出加倍。这将很快建立非常 - 并且会给你错误的结果。
我想你只是想:
strCsv.Append("\r\n");