Rumah > pembangunan bahagian belakang > C++ > Bila dan Bagaimanakah Pembolehubah Statik Dimulakan dalam C#?

Bila dan Bagaimanakah Pembolehubah Statik Dimulakan dalam C#?

DDD
Lepaskan: 2025-01-03 21:23:45
asal
771 orang telah melayarinya

When and How Are Static Variables Initialized in C#?

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:

  • Kelas memuatkan: Kelas dimuatkan ke dalam ingatan.
  • Pembina statik: Jika pembina statik wujud, ia dilaksanakan.
  • Pemulaan medan statik : Semua medan statik dimulakan mengikut susunan yang diisytiharkan dalam kelas, tidak kira sama ada medan tersebut dimulakan secara eksplisit atau tidak.
  • Pembina instance: Jika instance kelas dicipta, constructor instance dipanggil.

Contoh:

public class MyClass
{
    public static int StaticVar; // Default value of 0

    public MyClass()
    {
        StaticVar++; // Increment the value of the static variable
    }
}
Salin selepas log masuk

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!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan