Rumah > pembangunan bahagian belakang > C++ > Mengapa Satu Sampel Kod C# Disusun Sementara Yang Lain Gagal Kerana Skop Pembolehubah?

Mengapa Satu Sampel Kod C# Disusun Sementara Yang Lain Gagal Kerana Skop Pembolehubah?

Linda Hamilton
Lepaskan: 2025-01-12 14:24:44
asal
331 orang telah melayarinya

Why Does One C# Code Sample Compile While the Other Fails Due to Variable Scope?

Penjelasan terperinci tentang skop pembolehubah C#: Mengapakah satu contoh kod dikompilasi dan lulus, tetapi yang lain gagal disebabkan oleh skop pembolehubah?

Berikut menerangkan peraturan skop pembolehubah C# yang menyebabkan hasil kompilasi kedua-dua contoh kod ini berbeza.

Contoh kod 1: Penyusunan gagal

Dalam contoh kod pertama, pengisytiharan pertama pembolehubah i (int i=10; // Point1) dalam gelung for menyebabkan ralat kompilasi. Ini kerana pembolehubah i telah diisytiharkan dalam kaedah yang mengandungi gelung. Spesifikasi C# menetapkan bahawa berbilang elemen dengan nama yang sama tidak dibenarkan wujud dalam ruang perisytiharan pembolehubah tempatan.

Selain itu, rujukan kedua kepada objX di luar gelung for (var objX = new OtherClassOfMine(); // Point2) juga menyebabkan ralat kompilasi. Ini kerana pembolehubah objX telah diisytiharkan di dalam gelung for dan mengikut spesifikasi C#, nama mudah seperti objX yang digunakan dalam blok bersarang mesti merujuk kepada entiti yang sama dalam blok.

Contoh kod 2: Penyusunan berjaya

Dalam contoh kod kedua, dua untuk gelung mengisytiharkan pembolehubah i dan objX dalam blok masing-masing. Memandangkan setiap blok menggunakan set pengisytiharan pembolehubahnya sendiri, tiada pertindihan dalam nama pembolehubah atau skop dan kod berjaya disusun.

Ringkasan:

Contoh kod 1 melanggar peraturan ruang pengisytiharan pembolehubah dan mengisytiharkan berbilang pembolehubah dengan nama yang sama dalam skop yang sama. Contoh Kod 2 mengelakkan masalah ini dengan mengisytiharkan pembolehubah dalam blok berasingan. Memahami peraturan skop ini adalah penting untuk menulis kod C# yang betul dan boleh diselenggara.

Atas ialah kandungan terperinci Mengapa Satu Sampel Kod C# Disusun Sementara Yang Lain Gagal Kerana Skop Pembolehubah?. 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