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);
Kod ini menjana output berikut:
, one, two, three
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));
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!