Pembolehubah statik dalam C#
Ramai pembangun mengalami kesukaran memahami kefungsian pembolehubah statik dalam C#. Artikel ini bertujuan untuk menjelaskan tujuan dan penggunaannya sambil menerangkan sebab pembolehubah statik tidak boleh diisytiharkan di dalam kaedah.
Apakah pembolehubah statik?
Pembolehubah statik ialah pembolehubah peringkat kelas yang dikongsi antara semua kejadian kelas. Nilainya dikongsi antara semua objek yang dibuat daripada kelas ini.
Bila hendak menggunakan pembolehubah statik?
Pembolehubah statik biasanya digunakan dalam situasi di mana nilai perlu dikekalkan merentas berbilang kejadian kelas. Beberapa kes penggunaan biasa termasuk:
Mengapa pembolehubah statik tidak boleh diisytiharkan dalam kaedah?
Pembolehubah statik diisytiharkan di luar kaedah kerana ia mempunyai skop yang berbeza daripada pembolehubah peringkat contoh. Pembolehubah peringkat contoh wujud hanya dalam skop contoh objek, manakala pembolehubah statik wujud dalam kelas itu sendiri. Oleh itu, pembolehubah statik tidak boleh diisytiharkan di dalam kaedah kerana kaedah mempunyai skop terpencilnya sendiri.
Contoh:
Pertimbangkan kod berikut, yang menunjukkan perbezaan antara pembolehubah statik dan pembolehubah peringkat contoh:
<code class="language-csharp">public class Book { public static int myInt = 0; // 静态变量 public int instanceInt = 5; // 实例级变量 } public class Exercise { static void Main() { Book book1 = new Book(); book1.instanceInt++; // 增加实例级变量 book1.myInt++; // 增加静态变量 Book book2 = new Book(); Console.WriteLine(book2.instanceInt); // 输出 5 Console.WriteLine(book2.myInt); // 输出 1 } }</code>
Dalam contoh ini:
myInt
ialah pembolehubah statik yang dinaikkan sebanyak 1 setiap kali mana-mana objek kelas Book
mengubah suainya. instanceInt
ialah pembolehubah peringkat contoh yang hanya menambah objek Book
khusus yang dimilikinya sebanyak 1. Kesimpulan:
Pembolehubah statik ialah alat yang berkuasa untuk menyimpan data yang dikongsi antara berbilang kejadian kelas. Memahami tujuan dan penggunaannya adalah penting untuk pengaturcaraan C# yang berkesan. Walau bagaimanapun, adalah penting untuk diingat bahawa disebabkan oleh skop pembolehubah statik yang berbeza, ia tidak boleh diisytiharkan dalam kaedah.
Atas ialah kandungan terperinci Bagaimanakah Pembolehubah Statik Berfungsi dalam C# dan Mengapa Ia Tidak Boleh Diisytiharkan Di Dalam Kaedah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!