C# テキスト ファイルの行数を数える効果的な方法
テキスト ファイル内の行数を数えるのは、プログラミングにおける一般的なタスクです。 C# でこれを効率的に行う方法は次のとおりです:
1. ファイル サイズに基づく (非効率ですが単純です)
File.ReadAllLines
メソッドは、ファイル全体を配列にロードします。この方法は単純ですが、大きなファイルの場合は非常にメモリを大量に消費します。たとえば、32 ビット システムで 4 GB のファイルを操作すると、配列を割り当てるのに十分なメモリが不足する可能性があります。
<code class="language-csharp">var lineCount = File.ReadAllLines(@"C:\file.txt").Length;</code>
2. 行反復方法 (効率的)
File.OpenText
および while
ループを使用してファイルを 1 行ずつ繰り返し、カウンターを増加させます。この方法は ReadAllLines
より効率的であり、メモリ内に大きな配列を割り当てる必要がありません。
<code class="language-csharp">var lineCount = 0; using (var reader = File.OpenText(@"C:\file.txt")) { while (reader.ReadLine() != null) { lineCount++; } }</code>
パフォーマンスとメモリに関する考慮事項:
ReadAllLines
小さいファイルの場合は最適化により高速になる可能性がありますが、大きいファイルの場合はメモリ割り当てにより大幅に遅くなります。一方、OpenText
反復はメモリ使用量の点ではより効率的ですが、ReadAllLines
と比較したパフォーマンスはファイル サイズとシステム アーキテクチャに依存します。
以上がC# テキスト ファイルの行数を数える最も効率的な方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。