>本文探讨了逐行读取文本文件的有效方法。 分析性能优化策略以帮助您选择满足您需求的最佳方法。
> 带有增强缓冲方法提供了可配置的缓冲区大小(默认为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中文网其他相关文章!