Rumah > pembangunan bahagian belakang > C++ > Apakah Cara Paling Cekap untuk Mengira Baris dalam Fail Teks C#?

Apakah Cara Paling Cekap untuk Mengira Baris dalam Fail Teks C#?

DDD
Lepaskan: 2025-01-11 08:36:44
asal
420 orang telah melayarinya

What's the Most Efficient Way to Count Lines in a C# Text File?

Kaedah pengiraan baris yang berkesan dalam fail teks C#

Mengira bilangan baris dalam fail teks ialah tugas biasa dalam pengaturcaraan. Begini cara untuk mencapai ini dengan cekap dalam C#:

1. Berdasarkan saiz fail (tidak cekap tetapi mudah)

Kaedah

File.ReadAllLines memuatkan keseluruhan fail ke dalam tatasusunan. Walaupun mudah, kaedah ini sangat intensif memori untuk fail besar. Sebagai contoh, bekerja dengan fail 4GB pada sistem 32-bit, mungkin tidak mempunyai memori yang mencukupi untuk memperuntukkan tatasusunan.

<code class="language-csharp">var lineCount = File.ReadAllLines(@"C:\file.txt").Length;</code>
Salin selepas log masuk

2. Kaedah lelaran baris (cekap)

Gunakan gelung File.OpenText dan while untuk lelaran ke atas fail baris demi baris, menambah pembilang. Kaedah ini lebih cekap daripada ReadAllLines dan tidak memerlukan memperuntukkan tatasusunan yang besar dalam ingatan.

<code class="language-csharp">var lineCount = 0;
using (var reader = File.OpenText(@"C:\file.txt"))
{
    while (reader.ReadLine() != null)
    {
        lineCount++;
    }
}</code>
Salin selepas log masuk

Pertimbangan prestasi dan ingatan:

ReadAllLines Untuk fail kecil ia mungkin lebih pantas disebabkan pengoptimuman, tetapi untuk fail besar ia akan menjadi lebih perlahan dengan ketara disebabkan peruntukan memori. Sebaliknya, lelaran OpenText lebih cekap dari segi penggunaan memori, tetapi prestasinya berbanding ReadAllLines bergantung pada saiz fail dan seni bina sistem.

Atas ialah kandungan terperinci Apakah Cara Paling Cekap untuk Mengira Baris dalam Fail Teks C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan