C#Lesen Sie effizient Textdateien
In der .NET C#-Enumgebung ist das Lesen von Textdateien nacheinander eine gemeinsame Aufgabe. In diesem Artikel werden verschiedene Methoden untersucht und seine Effizienz analysiert.
Verwenden Sie StreamReader.readline
Ihre aktuelle Methode verwendet und die Puffergröße wird auf 128 eingestellt. Der Benchmark -Test zeigt jedoch, dass eine Erhöhung der Größe des Puffers auf 1024 (Standard) oder 4096 (NTFS -Cluster) die Leistung erheblich verbessern kann. Das folgende Codefragment zeigt dies:
StreamReader.ReadLine
<code class="language-csharp">const Int32 BufferSize = 128; using (var fileStream = File.OpenRead(fileName)) using (var streamReader = new StreamReader(fileStream, Encoding.UTF8, true, BufferSize)) { String line; while ((line = streamReader.ReadLine()) != null) { // 处理每一行 } }</code>
Diese Methode verwendet intern im Vergleich zu den kleineren im Pufferbereich wird die Leistung verbessert. Es verwendet Iteratoren und reduziert den Speicherverbrauch.
StreamReader
StreamReader.ReadLine
<code class="language-csharp">var lines = File.ReadLines(fileName); foreach (var line in lines) // 处理每一行</code>
zurück. Diese Methode erfordert mehr Speicher, ermöglicht jedoch einen zufälligen Zugriff.
File.ReadLines
IEnumerable<string>
Obwohl sehr bequem ist, ist seine Geschwindigkeit beim Lesen großer Dateien deutlich langsamer, wie im folgenden Beispiel gezeigt:
<code class="language-csharp">var lines = File.ReadAllLines(fileName); for (var i = 0; i < lines.Length; i++) // 处理每一行</code>
Schlussfolgerung Kurz gesagt, zum Lesen von Textdateien nacheinander wird
für seine Einfachheit und Effizienz empfohlen. Wenn Sie die Option Sharing anpassen müssen, sollten Sie die mit einer entsprechenden Puffergröße verwenden. Der Benchmark -Test muss jedoch durchgeführt werden, um die Lösung zu bestimmen, die für Ihre spezifischen Anforderungen am besten geeignet ist. String.Split
Das obige ist der detaillierte Inhalt vonWie kann ich die Zeile der Textdateien in C#effizient lesen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!