内存不足 c# List<>

out of memory c# List<>

我使用 List<> 来存储从数据库调用的数据以在 printdocument 中打印。 但是当行数超过300时,就会出现OutOfMemoryException。 清除内存的任何解决方案?或任何其他方法将数据添加到列表?

private List<FormName> printItem = new List<FormName>();
public string printItemCode;
public string printPartNo;
public string printIssued;
public string printUOM;

//call from database
using (var rdr = cmd.ExecuteReader())
{
    while (rdr.Read())
    {
        FormName item = new FormName()
        {
            printItemCode = rdr[0].ToString(),
            printPartNo = rdr[1].ToString(),
            printIssued = rdr[2].ToString(),
            printUOM = rdr[3].ToString(),
        };

        printItem.Add(item);
    }
}

问题已通过使用 class 而不是 FormName 解决。

private List<Items> printItem = new List<Items>();

class Items
{
    public string printItemCode { get; set; }
    public string printPartNo { get; set; }
    public string printIssued { get; set; }
    public string printUOM { get; set; }
}


using (var rdr = cmd.ExecuteReader())
{
    while (rdr.Read())
    {
        Items item = new Items()
        {
            printItemCode = rdr[0].ToString(),
            printPartNo = rdr[1].ToString(),
            printIssued = rdr[2].ToString(),
            printUOM = rdr[3].ToString(),
        };

        printItem.Add(item);
    }
}