Heim >Backend-Entwicklung >C++ >Wie lösche ich effizient Zeilen aus Textdateien in C#?

Wie lösche ich effizient Zeilen aus Textdateien in C#?

DDD
DDDOriginal
2025-01-14 09:21:42984Durchsuche

How to Efficiently Delete Lines from Text Files in C#?

So löschen Sie Textdateizeilen in C# effizient

Das Löschen bestimmter Zeilen aus einer Textdatei ist eine häufige Aufgabe in der Programmierung. Bei großen Dateien besteht ein effizienter Ansatz in C# darin, eine temporäre Datei zu erstellen und den Inhalt der Originaldatei in die temporäre Datei umzuschreiben und dabei unnötige Zeilen auszuschließen. Der folgende Code demonstriert diesen Ansatz:

<code class="language-csharp">string tempFile = Path.GetTempFileName();

using (var sr = new StreamReader("file.txt"))
using (var sw = new StreamWriter(tempFile))
{
    string line;

    while ((line = sr.ReadLine()) != null)
    {
        if (line != "removeme")
            sw.WriteLine(line);
    }
}

File.Delete("file.txt");
File.Move(tempFile, "file.txt");</code>

Für kleinere Textdateien ist jedoch ein einfacherer, direkter Ausführungs- und weniger speicherintensiver Ansatz vorzuziehen:

<code class="language-csharp">File.WriteAllLines(fileName,
    File.ReadLines(fileName).Where(l => l != "removeme").ToList());</code>

Es ist wichtig zu beachten, dass bei allen Beispielen davon ausgegangen wird, dass die Textdatei UTF-8-Kodierung verwendet.

Das obige ist der detaillierte Inhalt vonWie lösche ich effizient Zeilen aus Textdateien in C#?. 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