Heim >Backend-Entwicklung >C++ >Wie kann ich eine Textdateizeile für Zeile in C# .NET effizient lesen?

Wie kann ich eine Textdateizeile für Zeile in C# .NET effizient lesen?

Barbara Streisand
Barbara StreisandOriginal
2025-01-29 08:30:131020Durchsuche

How Can I Efficiently Read a Text File Line by Line in C# .NET?

Textdateien effizient lesen: Verarbeitung

<:> Frage:

Wie lesen Sie Textdateien in hoher Effizienz in C# .NET?

Antwort:

entsprechend spezifischen Anforderungen gibt es viele Möglichkeiten, die Dateilesung zu optimieren. Verwenden Sie StreamReader.readline:

im Vergleich zu 128 Bytes des Puffers kann die Leistung von StreamReader unter Verwendung von StreamReader und der Einstellung einer geeigneten Puffergröße (z. B. die Standardeinstellung 1024 oder größer) die Leistung erheblich verbessern.

Verwenden Sie Datei.Readlines:

Dies ist eine Ersatzmethode zur Optimierung für die Zeilenverarbeitung, die den Speicher vermeidet, der alle Zeilen gleichzeitig aufnimmt.
<code class="language-csharp">using (var fileStream = File.OpenRead(fileName))
using (var streamReader = new StreamReader(fileStream, Encoding.UTF8, true, 1024)) {
    string line;
    while ((line = streamReader.ReadLine()) != null)
    {
        // 处理每一行
    }
}</code>

Verwenden Sie Datei.readallLines:

Obwohl eine String [] zurückgegeben wird, ist diese Methode mehr Nachfrage nach Speicher als die obige Methode. Es ermöglicht jedoch einen zufälligen Zugriff.

<code class="language-csharp">var lines = File.ReadLines(fileName);
foreach (var line in lines)
    // 处理每一行</code>

Verwenden Sie String.Split:

Diese Methode ist normalerweise langsam und dichtem Speicher.

<code class="language-csharp">var lines = File.ReadAllLines(fileName);
for (var i = 0; i < lines.Length; i++)
    // 处理每一行</code>
Der Benchmark -Test ist für die Bestimmung der besten Methode entsprechend Ihrer spezifischen Dateigröße und -bearbeitungsanforderungen unerlässlich. Bei der Verarbeitung mit hoher Effizienz wird im Allgemeinen empfohlen, Datei.readlines zu verwenden.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Textdateizeile für Zeile in C# .NET effizient lesen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn