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

Bagaimanakah LINQ Boleh Menggabungkan Rentetan dengan Cekap dalam C#?

Susan Sarandon
Susan Sarandonasal
2025-01-03 12:55:39551semak imbas

How Can LINQ Efficiently Concatenate Strings in C#?

Menggabungkan Rentetan dengan LINQ

Apabila berurusan dengan koleksi rentetan, selalunya terdapat senario di mana kita perlu menggabungkannya menjadi satu rentetan. Secara tradisinya, kami akan mencapai ini menggunakan kelas StringBuilder. Walau bagaimanapun, dengan kemunculan LINQ, kami kini mempunyai cara yang lebih ringkas dan ekspresif untuk mengendalikan tugas ini.

Pendekatan Agregat LINQ

LINQ menyediakan kaedah Agregat, yang boleh digunakan untuk mengagregatkan jujukan nilai ke dalam satu hasil. Untuk menggabungkan rentetan menggunakan Agregat, kita boleh menggunakan langkah berikut:

  1. Mulakan rentetan kosong sebagai titik permulaan.
  2. Lelaran pada koleksi rentetan, tambahkan setiap rentetan pada rentetan penumpuk , dipisahkan oleh pembatas yang diingini.
  3. Nyatakan hasil akhir sebagai terkumpul rentetan.

Contoh Kod:

string[] words = { "one", "two", "three" };
var res = words.Aggregate(
    "", (current, next) => current + ", " + next);
Console.WriteLine(res);

Kod ini menghasilkan output:

, one, two, three

Pilihan LINQ Lain

Walaupun kaedah Agregat boleh digunakan untuk penyambungan rentetan, ia bukanlah pendekatan yang paling optimum. Untuk prestasi dan kebolehbacaan yang lebih baik, pertimbangkan untuk menggunakan kaedah String.Join sebaliknya:

string res = String.Join(", ", words);
Console.WriteLine(res);

Atas ialah kandungan terperinci Bagaimanakah LINQ Boleh Menggabungkan Rentetan dengan Cekap dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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