我有以下代码:
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
。发生此异常的原因是什么? 最佳答案
看这个:
strCsv.Append( "\r\n" + strCsv)
您将在每次迭代中将输出加倍。那将很快建立起来-并给您错误的结果。
我想您只想要:
strCsv.Append("\r\n");
关于c# - StringBuilder中的system.outofmemoryexception,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17940587/