Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Pembolehubah Statik Berfungsi dalam C# dan Mengapa Ia Tidak Boleh Diisytiharkan Di Dalam Kaedah?

Bagaimanakah Pembolehubah Statik Berfungsi dalam C# dan Mengapa Ia Tidak Boleh Diisytiharkan Di Dalam Kaedah?

Mary-Kate Olsen
Lepaskan: 2025-01-11 21:31:42
asal
881 orang telah melayarinya

How Do Static Variables Work in C# and Why Can't They Be Declared Inside Methods?

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:

  • Menyimpan nilai malar
  • Selenggara kaunter
  • Kongsi data antara bahagian berlainan program

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>
Salin selepas log masuk

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan