Mengalih keluar baris tertentu daripada fail teks dalam C# ialah tugas biasa. Berikut ialah dua kaedah: pendekatan mudah dan penyelesaian berasaskan LINQ yang lebih cekap.
Kaedah 1: Kaedah Fail Sementara
Kaedah ini mencipta fail sementara, menyalin kandungan fail asal tidak termasuk baris yang hendak dialih keluar, kemudian menggantikan fail asal. Ini sesuai untuk fail yang sangat besar yang memuatkan segala-galanya ke dalam memori boleh menyebabkan masalah.
<code class="language-csharp">string tempFile = Path.GetTempFileName(); using (var reader = new StreamReader("file.txt")) using (var writer = new StreamWriter(tempFile)) { string line; while ((line = reader.ReadLine()) != null) { if (line != "removeme") // Replace "removeme" with your target line writer.WriteLine(line); } } File.Delete("file.txt"); File.Move(tempFile, "file.txt");</code>
Kaedah 2: Kaedah LINQ (Lebih Cekap untuk Fail Yang Lebih Kecil)
Untuk fail yang lebih kecil, LINQ menawarkan penyelesaian yang lebih ringkas dan berkemungkinan lebih pantas. Ia menapis baris untuk disimpan, kemudian menulisnya kembali ke fail. Kelebihan utama ialah pelaksanaan tertunda – fail tidak diproses sehingga File.WriteAllLines
dipanggil.
<code class="language-csharp">string tempFile = Path.GetTempFileName(); var linesToKeep = File.ReadLines("fileName").Where(l => l != "removeme"); // Replace "fileName" and "removeme" as needed File.WriteAllLines(tempFile, linesToKeep); File.Delete("fileName"); File.Move(tempFile, "fileName");</code>
Pertimbangan Penting:
try-catch
blok) untuk mengurus kemungkinan pengecualian seperti FileNotFoundException
.Ingat untuk menggantikan "file.txt"
dan "removeme"
dengan laluan fail sebenar anda dan baris yang ingin anda padamkan.
Atas ialah kandungan terperinci Bagaimana untuk Memadam Baris dengan Cekap dari Fail Teks dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!