3

最大 100 万行になる可能性のあるテキスト ファイルがあり、一度に 1 行ずつファイルを読み取るためのコードがありますが、これには多くの時間がかかります...非常に多くの時間がかかります。このプロセスを潜在的に最適化し、読み取りを改善する方法がc#にありますか。これは私が使用しているコードです。

using(var file = new StreamReader(filePath))
{
    while((line = file.ReadLine()) != null)
     {
         //do something.
     }
}

これらの行をまとめて読む、またはプロセスを改善するための提案はありますか?

ありがとう。

コメントありがとうございます。この問題は、SmartXls ライブラリを使用して Excel に書き込む \do something に関係していたため、ボトルネックが発生していました。この問題に対処するために開発者に連絡しました。提案されたすべてのソリューションは、他のシナリオでも機能します。

4

6 に答える 6

0

パフォーマンスを向上させるには、別のスレッドを生成して負荷を処理することにより、ループ内で現在行っている作業を実行することを検討してください。

Parallel.ForEach(file.ReadLines(), (line) =>
{
   // do your business
});
于 2013-10-17T16:34:15.347 に答える