Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Menambah Elemen Baharu dengan Cekap pada Array Rentetan dalam C#?

Bagaimanakah Saya Boleh Menambah Elemen Baharu dengan Cekap pada Array Rentetan dalam C#?

Linda Hamilton
Lepaskan: 2025-01-12 09:13:43
asal
634 orang telah melayarinya

How Can I Efficiently Add New Elements to a String Array in C#?

Menambahkan Elemen Baharu pada Tatasusunan Rentetan dalam C#

Mengembangkan tatasusunan rentetan dengan cekap dalam C# memerlukan pertimbangan yang teliti terhadap kaedah yang tersedia. Beberapa pendekatan wujud, masing-masing mempunyai kekuatan dan kelemahan tersendiri.

Senarai Penyelesaian

Untuk situasi yang memerlukan saiz semula dinamik, List<string> menawarkan penyelesaian yang paling mudah:

List<string> stringList = new List<string>();
stringList.Add("Hello");
Salin selepas log masuk

Ini menghapuskan keperluan untuk mengubah saiz tatasusunan manual dan memudahkan penambahan elemen.

Kaedah 1: Tatasusunan.Ubah Saiz

Array.Resize mengubah suai tatasusunan asal di tempatnya, meningkatkan saiznya untuk menampung elemen baharu:

string[] arr = { "Apple", "Banana" };
Array.Resize(ref arr, arr.Length + 1);
arr[arr.Length - 1] = "Orange";
Salin selepas log masuk

Pendekatan ini cekap untuk penambahan yang jarang berlaku tetapi boleh menjadi kurang berprestasi untuk pengubahsuaian yang kerap.

Kaedah 2: Tatasusunan.Salin

Kaedah ini mencipta tatasusunan baharu yang lebih besar, menyalin elemen sedia ada dan kemudian menambah item baharu:

string[] arr = { "Apple", "Banana" };
string[] newArr = new string[arr.Length + 1];
Array.Copy(arr, newArr, arr.Length);
newArr[newArr.Length - 1] = "Orange";
Salin selepas log masuk

Semasa mencipta tatasusunan baharu memperkenalkan beberapa overhed, ia mengelakkan potensi isu prestasi yang dikaitkan dengan saiz semula berulang.

Kaedah 3: LINQ's Concat

LINQ menyediakan cara ringkas untuk menambahkan elemen menggunakan Concat:

string[] arr = { "Apple", "Banana" };
string[] newArr = arr.Concat(new[] { "Orange" }).ToArray();
Salin selepas log masuk

Ini elegan tetapi mungkin kurang cekap sedikit daripada Array.Copy untuk tatasusunan yang sangat besar disebabkan oleh overhed operasi LINQ.

Pemilihan Pendekatan Optimum

Kaedah terbaik bergantung pada keperluan khusus anda. List<string> sesuai untuk tatasusunan dinamik dengan penambahan dan pengalihan yang kerap. Untuk tatasusunan statik dengan perubahan yang jarang berlaku, Array.Resize atau Array.Copy ialah pilihan yang sesuai. LINQ Concat menawarkan sintaks yang bersih tetapi mungkin mempunyai sedikit penalti prestasi untuk tatasusunan yang sangat besar.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambah Elemen Baharu dengan Cekap pada Array Rentetan dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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