private List<T> ReadCurrentFile(string currentExtractedFile, PurgingDetails purgingParams)
{
List<T> thinLogDoList = new List<T>();
using (StreamReader sr = new StreamReader(currentExtractedFile))
{
string currentLine = string.Empty;
Dictionary<string, string> ColumnNamesDictionary = null;
while ((currentLine = sr.ReadLine()) != null)
{
if (currentLine.IsNotNullOrEmpty() && currentLine.Contains("Æ"))
{
string[] columnNames = currentLine.Split(new char[] { 'Æ' });
ColumnNamesDictionary = FillColumnNameDictionary(columnNames);
if (CheckForValidConditions(ColumnNamesDictionary, purgingParams))
{
thinLogDoList.Add(FillThinLogDO(ColumnNamesDictionary));
}
}
}
}
return thinLogDoList;
}
(上面的代码是用于读取的文件和通过填充对象将数据添加到列表中。) 该函数读取的大小为10 MB的文件它位于一个zip文件中,首先我提取zip文件,然后使用该函数读取数据并将其存储到List
中,然后删除提取的zip文件。它正在为大约6L(6,00,000)数据工作,但超出该数据它会抛出异常。 我想读更多数据10L(10,00,000)我应该怎么做?的System.OutOfMemoryException:类型的异常“System.OutOfMemory”被抛出
如果您使用印度格式的 – xanatos
中的数字,这是相当令人困惑的,您无法真正能够做到这一点。一种方法是直接产生/返回一个IEnumerable或者甚至可能使用Dictionary。使用字典可以大大改善性能并减少问题。 –
什么是文件格式? – xanatos