我有一个控制台应用程序,我需要在其中读取一些 .csv 文件。我没有问题阅读前两个非常轻的(每个大约 10 000 条记录)。但是当它开始读取第三个(更重,大约 220 000 条记录)时,我一直遇到错误“OutOfMemoryException 未处理:mscorlib.dll 中发生了“System.OutOfMemoryException”类型的未处理异常”
我不明白它对于前两个 csv 是否正常工作......
这是我读取 csv 文件的函数,拆分时发生错误:
Function FileToString(filePath As String) As String()
Dim myfile As New StreamReader(filePath, System.Text.Encoding.GetEncoding("iso-8859-1"))
Dim allData As String = myfile.ReadToEnd()
Dim rows As String() = allData.Split(vbCr.ToCharArray)
Return rows
End Function
我怎么能防止这种情况?有没有更好的读取csv的方法?谢谢