system.outofmemoryexception in StringBuilder

本文关键字:StringBuilder in outofmemoryexception system | 更新日期: 2023-09-27 18:25:37

我有以下代码:

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。这个例外背后的原因是什么?

system.outofmemoryexception in StringBuilder

看看这个:

strCsv.Append( "'r'n" + strCsv)

每次迭代,的输出都会加倍。这将很快建立,并给你错误的结果。

我想你只想:

strCsv.Append("'r'n");