Susun Saiz Secara Dinamik Tatasusunan: Tatasusunan.Ubah Saiz() lwn. Senarai
Dalam pengaturcaraan, tatasusunan ialah struktur data bersaiz tetap, bermakna saiznya tidak boleh diubah selepas pengisytiharan. Walau bagaimanapun, terdapat situasi apabila saiz tatasusunan tidak diketahui terlebih dahulu dan perlu dilaraskan secara dinamik. Ini menimbulkan persoalan: adakah mungkin untuk mengubah saiz tatasusunan dalam C#?
Jawapannya ialah "ya" dan "tidak." Walaupun C# menyediakan kaedah Array.Resize(), adalah penting untuk ambil perhatian bahawa Array.Resize() tidak secara teknikal mengubah saiz tatasusunan asal. Sebaliknya, ia mencipta tatasusunan baharu dengan saiz yang ditentukan dan menyalin elemen daripada tatasusunan lama ke dalam tatasusunan baharu. Rujukan tatasusunan asal kemudiannya digantikan dengan rujukan kepada tatasusunan baharu.
Contoh:
int[] array1 = new int[10]; int[] array2 = array1; Array.Resize<int>(ref array1, 20); // Now: // array1.Length is 20 // array2.Length is 10 // Two different arrays.
Dalam contoh ini, selepas memanggil Array.Resize(), array1 merujuk tatasusunan baharu dengan panjang 20, manakala tatasusunan2 masih menunjuk kepada tatasusunan asal dengan panjang 10. Ini bermakna kedua-dua tatasusunan kini bebas dan apa-apa perubahan yang dibuat kepada satu tidak akan menjejaskan yang lain.
Alternatif: Menggunakan Senarai
Jika keperluan untuk mengubah saiz dinamik adalah kerap, adalah disyorkan untuk menggunakan senarai dan bukannya tatasusunan. Senarai ialah struktur data dinamik yang boleh melaraskan saiznya secara automatik mengikut keperluan. Tidak seperti tatasusunan, senarai boleh dikembangkan atau dikecilkan dengan mudah dengan menambah atau mengalih keluar elemen.
Contoh:
List<int> list = new List<int>(); list.Add(1); list.Add(2); // Get the current size of the list int size = list.Count;
Saiz semula dinamik dengan senarai adalah lebih mudah dan cekap daripada menggunakan Array.Resize(). Walau bagaimanapun, tatasusunan masih mempunyai kelebihannya sendiri, seperti prestasi yang lebih baik untuk operasi tertentu dan keupayaan untuk mengakses elemen secara langsung menggunakan indeks. Pilihan antara tatasusunan dan senarai bergantung pada keperluan khusus aplikasi.
Atas ialah kandungan terperinci Patutkah Saya Gunakan Array.Resize() atau Lists untuk Tatasusunan Saiz Secara Dinamik dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!