Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Kaedah Agregat LINQ Boleh Digunakan untuk Penggabungan Rentetan yang Cekap?

Bagaimanakah Kaedah Agregat LINQ Boleh Digunakan untuk Penggabungan Rentetan yang Cekap?

Patricia Arquette
Lepaskan: 2025-01-03 20:14:41
asal
168 orang telah melayarinya

How Can LINQ's Aggregate Method Be Used for Efficient String Concatenation?

Menggabungkan Rentetan dengan LINQ

Kaedah tradisional untuk menggabungkan rentetan melibatkan penggunaan StringBuilder dan menambahkan setiap rentetan dalam gelung. Walau bagaimanapun, untuk pendekatan yang lebih cekap, LINQ menawarkan pertanyaan agregat.

Pertanyaan agregat ialah fungsi yang mengambil koleksi nilai dan mengembalikan nilai skalar. Menggunakan notasi titik, anda boleh memanggil pertanyaan agregat pada objek IEnumerable.

Untuk menggabungkan rentetan dengan LINQ, anda boleh menggunakan kaedah Agregat seperti berikut:

string[] words = { "one", "two", "three" };
string res = words.Aggregate(
    "", // Start with an empty string for empty list handling
    (current, next) => current + ", " + next);
Salin selepas log masuk

Kod ini menjana output berikut:

, one, two, three
Salin selepas log masuk

Adalah penting untuk ambil perhatian bahawa pertanyaan agregat adalah dilaksanakan serta merta. Untuk prestasi optimum dengan jujukan yang besar, pertimbangkan untuk menggunakan String.Join sebaliknya.

Sebagai alternatif, jika anda ingin menggunakan Aggregate, anda boleh memanfaatkan StringBuilder untuk prestasi yang lebih baik:

var res = words.Aggregate(
    new StringBuilder(), 
    (current, next) => current.Append(current.Length == 0? "" : ", ").Append(next));
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Kaedah Agregat LINQ Boleh Digunakan untuk Penggabungan Rentetan yang Cekap?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan