pha*_*han 1 c# visual-studio-2012
这是我的代码,用于读取文本文件,该文件恰好大于1GB并且是以管道分隔的:
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string strFilePath = @"C:\Users\Me\Desktop\123.txt";
private void button1_Click(object sender, EventArgs e)
{
var arrRawData = File.ReadLines(strFilePath).Select(line => line.Split('|')).ToArray();
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我单击按钮时出现此错误:
mscorlib.dll中发生"System.OutOfMemoryException"
我有16GB的RAM ......我做错了什么?
您的程序以32位模式运行.这将永远不允许读取超过650兆字节的数据,关于地址空间中可用的最大空洞.
Project + Properties,Build选项卡,取消选中"Prefer 32-bit"选项.
请注意,几乎所有解析文件数据的应用程序仍然不需要使用这么多内存.只需使用StreamReader类一次读取一行.
| 归档时间: |
|
| 查看次数: |
846 次 |
| 最近记录: |