c#テキストファイルを効率的に読み取ります
C#でテキストファイルを処理する場合、効率的に読み取ることが重要です。一般的に使用される方法は、を使用して行ごとにファイルを解析することです。ただし、パフォーマンスを改善するためには、検討する価値のある他のテクノロジーがいくつかあります。
StreamReader.ReadLine()デフォルトのバッファサイズは1024バイトです。この値を増やすと、特に大規模なファイルのパフォーマンスが大幅に向上する可能性があります。次のコード設定バッファサイズを使用することを検討してください:
この方法では、
よりも効率的な代替品が提供されます。メモリの消費を最小限に抑えるためにオンデマンドでロードされています:
StreamReader
using (var fileStream = File.OpenRead(fileName))
using (var streamReader = new StreamReader(fileStream, Encoding.UTF8, true, 128))
{
string line;
while ((line = streamReader.ReadLine()) != null)
{
// 处理每一行
}
}
このメソッドはすべての行のすべての配列を返しますが、と比較して、メモリ効率は低くなります。ランダムに行にアクセスする必要がある場合、この方法は適用されます:
特に大規模な文書の場合、部門ラインの最も効率性の使用。ファイル全体をメモリにロードし、すべての行に配列を割り当てる必要があります。StreamReader.ReadLine()
推奨方法:<code class="language-csharp">var lines = File.ReadLines(fileName); foreach (var line in lines) // 处理每一行</code>
最高のパフォーマンスを得るために、速度とメモリ効率のバランスがあるため、を使用することをお勧めします。特定のファイル共有オプションが必要な場合は、バッファのサイズで
を使用することを検討できます。以上がC#で行ごとにテキストファイルを読み取る最も効率的な方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。