Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Auto-Populasi Tatasusunan C# dengan Nilai Bukan Lalai?
Auto-Mengisi Tatasusunan C# dengan Nilai Bukan Lalai
Dalam C#, tatasusunan jenis nilai yang tidak diinisialisasikan secara automatik disemai dengan nilai lalai masing-masing (cth., 0 untuk int, palsu untuk bool). Walau bagaimanapun, adakah mungkin untuk memintas ini dan menetapkan nilai benih tersuai untuk semua elemen?
Menggunakan Array.Fill()
Kaedah Arrays.fill() Java ialah tidak tersedia dalam C#, jadi pendekatan berulang dengan gelung for kekal sebagai kaedah standard. Mengulangi tatasusunan mungkin kelihatan tidak cekap, tetapi ia adalah penyelesaian yang optimum apabila memanipulasi memori asas secara langsung.
Pendekatan Alternatif
Walaupun kekurangan kaedah terbina dalam, terdapat pendekatan alternatif menggunakan LINQ (Language Integrated Query):
bool[] abValues = Enumerable.Repeat(true, 1000000).ToArray();
Pendekatan ini memanfaatkan kaedah Repeat() dan ToArray() untuk menjana jujukan nilai benar yang diulang 1,000,000 kali dan kemudian menukarnya menjadi tatasusunan. Kaedah ini memastikan bahawa semua elemen ditetapkan kepada benar sebelum tatasusunan dimulakan. Perlu diingat bahawa menggunakan LINQ mungkin memperkenalkan overhed tambahan berbanding pendekatan berulang.
Pertimbangan Peruntukan Memori
Seperti yang disyaki, nilai lalai telah tertanam dalam proses peruntukan memori C# untuk tatasusunan. Walau bagaimanapun, menggunakan kaedah Repeat() secara berkesan memintas tingkah laku ini dengan mencipta tatasusunan baharu dengan nilai yang diingini, memintas permulaan automatik.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Auto-Populasi Tatasusunan C# dengan Nilai Bukan Lalai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!