>本文探討了逐行讀取文本文件的有效方法。 分析性能優化策略以幫助您選擇滿足您需求的最佳方法。
> 帶有增強緩衝方法提供了可配置的緩衝區大小(默認為1024個字節)。增加此緩衝液可以大大提高閱讀速度:StreamReader.ReadLine()
<code class="language-csharp">const int BufferSize = 4096; // Increased buffer size for better performance using (var fileStream = File.OpenRead(fileName)) using (var streamReader = new StreamReader(fileStream, Encoding.UTF8, true, BufferSize)) { string line; while ((line = streamReader.ReadLine()) != null) { // Process the line } }</code>
>提供了一種更精簡且通常更快的方法,用於通過行進行迭代:File.ReadLines()
<code class="language-csharp">foreach (var line in File.ReadLines(fileName)) { // Process the line }</code>
>
File.ReadAllLines()
<code class="language-csharp">var lines = File.ReadAllLines(fileName); for (int i = 0; i < lines.Length; i++) { // Process line at index i }</code>
String.Split()
性能注意事項
<code class="language-csharp">// Less efficient - avoid this method if possible using (var reader = File.OpenText(fileName)) { string[] lines = reader.ReadToEnd().Split(new[] { "\r\n", "\n" }, StringSplitOptions.None); foreach (string line in lines) { //Process line } }</code>
以上是如何優化C#中的逐線文本文件讀數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!