Permulaan Pembolehubah Statik dalam C#
Pembolehubah statik memainkan peranan penting dalam pengaturcaraan berorientasikan objek, menyediakan keadaan yang dikongsi antara contoh sesuatu kelas. Memahami apabila pembolehubah statik wujud adalah penting untuk pembangun yang bekerja dengan C#.
Masa Permulaan Pembolehubah Statik
Dalam C#, permulaan pembolehubah statik bergantung pada beberapa faktor :
1. Pembina Statik:
Sesuatu kelas boleh mempunyai pembina statik, biasanya diisytiharkan menggunakan pengubah suai statik. Pembina statik digunakan apabila kelas dimuatkan ke dalam memori. Jika pembina statik wujud, ia dilaksanakan sebelum sebarang pembolehubah statik dimulakan.
2. Bendera BeforeFieldInit:
Bendera beforefieldinit mengawal sama ada medan statik dimulakan sebelum atau selepas pembina contoh dipanggil. Secara lalai, bendera ini ditetapkan kepada benar dalam C#, bermakna medan statik dimulakan sebelum sebarang tika dibuat.
3. Pemuatan Kelas:
Pemuatan kelas berlaku apabila kelas pertama kali dirujuk dalam atur cara. Ini berlaku apabila objek kelas dijadikan instantiated atau apabila salah satu ahli statiknya diakses.
Proses Permulaan Sebenar
Dalam C#, proses permulaan statik yang tepat pembolehubah bergantung pada urutan peristiwa berikut:
Contoh:
public class MyClass { public static int StaticVar; // Default value of 0 public MyClass() { StaticVar++; // Increment the value of the static variable } }
Dalam contoh ini, pembolehubah statik StaticVar akan menjadi dimulakan kepada 0 apabila kelas dimuatkan. Apabila objek MyClass dicipta, pembina instance akan dipanggil, menambah nilai StaticVar.
Kesimpulan
Masa permulaan pembolehubah statik dalam C# ialah topik kompleks yang dipengaruhi oleh faktor seperti pembina statik dan bendera beforefieldinit. Walau bagaimanapun, selagi kod biasa digunakan untuk mengakses medan statik, ia akan dimulakan sebelum digunakan. Untuk maklumat yang lebih mendalam, rujuk sumber yang disediakan dalam jawapan yang dibekalkan.
Atas ialah kandungan terperinci Bila dan Bagaimanakah Pembolehubah Statik Dimulakan dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!