Heim >Backend-Entwicklung >C++ >Was ist die effizienteste Möglichkeit, eine Textdateizeile nach Zeile in C#zu lesen?

Was ist die effizienteste Möglichkeit, eine Textdateizeile nach Zeile in C#zu lesen?

Linda Hamilton
Linda HamiltonOriginal
2025-01-29 08:25:10353Durchsuche

What's the Most Efficient Way to Read a Text File Line by Line in C#?

C#Lesen Sie effizient Textdateien

Bei der Behandlung von Textdateien in C#ist es wichtig, sie effizient zu lesen. Die häufig verwendete Methode besteht darin, Dateien nach Zeile zu analysieren. Um die Leistung zu verbessern, sind jedoch mehrere andere Technologien in Betracht gezogen.

<.> 1. StreamReader mit dem Puffer: StreamReader.ReadLine()

Die Standardpuffergröße beträgt 1024 Bytes. Die Erhöhung dieses Wertes kann die Leistung erheblich verbessern, insbesondere für große Dateien. Erwägen Sie die folgende Code -Einstellungspuffergröße:

<.> 2. file.readlines:

StreamReader

Diese Methode liefert effizientere Alternativen als
<code class="language-csharp">using (var fileStream = File.OpenRead(fileName))
using (var streamReader = new StreamReader(fileStream, Encoding.UTF8, true, 128))
{
    string line;
    while ((line = streamReader.ReadLine()) != null)
    {
        // 处理每一行
    }
}</code>
. Es wird auf Bedarf geladen, um den Speicherverbrauch zu minimieren:

<.> 3. file.readalllines:

StreamReader.ReadLine() Diese Methode gibt das gesamte Array aller Zeilen zurück, aber im Vergleich zu

ist die Speichereffizienz niedrig. Wenn Sie zufällig auf die Zeile zugreifen müssen, gilt diese Methode:
<code class="language-csharp">var lines = File.ReadLines(fileName);
foreach (var line in lines)
    // 处理每一行</code>

<.> 4. String.split:

Die Verwendung von Die größte Effizienz der Divisionslinie, insbesondere für große Dokumente. Es muss die gesamte Datei in den Speicher laden und ein Array für alle Zeilen zuweisen: File.ReadLines

<code class="language-csharp">var lines = File.ReadAllLines(fileName);
for (var i = 0; i < lines.Length; i++)
    // 处理每一行</code>
Empfohlene Methode:

Um die beste Leistung zu erzielen, wird empfohlen,

zu verwenden, da es eine Balance zwischen Geschwindigkeit und Speichereffizienz hat. Wenn Sie eine bestimmte Option für die Dateifreigabe benötigen, können Sie die

mit der Größe des Puffers verwenden. String.Split

Das obige ist der detaillierte Inhalt vonWas ist die effizienteste Möglichkeit, eine Textdateizeile nach Zeile in C#zu 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