如何解决通用列表泛型中的内存不足异常?

时间:2010-06-18 13:41:05

标签: c# .net visual-studio visual-studio-2008

如果添加新值

,如何解决列表通用中的内存不足异常
  foreach(DataColumn dc in dTable.Columns)
                foreach (DataRow dr in dTable.Rows)
                    myScriptCellsCount.MyCellsCharactersCount.Add(dr[dc].ToString().Length);

MyBase Class:

    public class MyExcelSheetsCells
    {
        public List<int> MyCellsCharactersCount { get; set; }

        public MyExcelSheetsCells()
        {
            MyCellsCharactersCount = new List<int>();
        }

    }

2 个答案:

答案 0 :(得分:2)

使用更少的行和列。现在,您正在MyCellsCharacterCount中创建一个新条目,其行数乘以列数,如果您有大量数据,则可能很容易超过可用内存量。

答案 1 :(得分:0)

如果您的表格对于您的列*行数据来说太大了,那么执行您所追求的任何有意义的操作/聚合(平均值,总和,最小值,最大值等)将比单独保存计数更好。

基本上,获取摘要视图而不是详细视图。

根据你的例子,我无法猜测你所追求的是什么,因为你所展示的只是存储列主要的字符数。

JS Bangs的回答是给你原因的,但是如果没有更多的信息,我们都不能真正给你答案。