CSV ファイルを読み取るさまざまな方法でベンチマークを行っているところ、「奇妙な」問題が見つかりました。問題は、コンソール アプリケーションでこのメソッドを使用すると、次のようになることです。
var lines = File.ReadAllLines(fileName); // OutOfMemoryException
foreach (var line in lines)
{
//doing stuff
}
OutOfMemoryException が発生しますが、WPF プロジェクトで同じメソッドを使用すると問題なく動作します。これをテストしているファイルは 730MB で、より大きな CSV ファイルで ReadAllLines を使用しないことはわかっていますが、このメソッドが WPF アプリケーションでは機能するのに、コンソール アプリケーションでは機能しないのはなぜですか?