Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah LINQ Boleh Menggabungkan Rentetan dengan Cekap?

Bagaimanakah LINQ Boleh Menggabungkan Rentetan dengan Cekap?

Barbara Streisand
Lepaskan: 2025-01-04 05:53:40
asal
570 orang telah melayarinya

How Can LINQ Efficiently Concatenate Strings?

LINQ for Concatenating Strings

Dalam kod yang lebih lama, rentetan sering digabungkan menggunakan StringBuilder dalam gelung. Kaedah ini, walaupun berfungsi, boleh menjadi tidak cekap dan bertele-tele.

LINQ menawarkan alternatif yang lebih ringkas dan cekap melalui pertanyaan agregat. Untuk menggabungkan rentetan menggunakan LINQ, ikuti langkah berikut:

Pertanyaan Agregat

Pertanyaan agregat digunakan untuk mengurangkan koleksi nilai menjadi satu nilai skalar. Dalam kes ini, rentetan akan dikurangkan kepada rentetan tunggal yang digabungkan.

string[] words = { "one", "two", "three" };
var result = words.Aggregate(
    "", // Start with an empty string to handle empty lists.
    (current, next) => current + ", " + next);
Salin selepas log masuk

Pecahan

  • Agregat: Memulakan pertanyaan, menyatakan nilai awal dan fungsi pengagregatan.
  • (semasa, seterusnya) => ...: Mentakrifkan fungsi pengagregatan yang menggabungkan setiap rentetan dengan pembatas ke dalam rentetan semasa.
  • semasa ", " seterusnya: Menggabungkan pembatas dan rentetan seterusnya kepada rentetan semasa.

Hasil

Melaksanakan pertanyaan ini output:

one, two, three
Salin selepas log masuk

Alternatif Menggunakan StringBuilder

Walaupun pertanyaan agregat adalah ciri LINQ serba boleh, String.Join menawarkan pilihan yang lebih berprestasi untuk menggabungkan sejumlah besar rentetan:

string result = String.Join(", ", words);
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah LINQ Boleh Menggabungkan Rentetan dengan 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