Akses pembolehubah kaedah berbeza dalam C#
Pemula C# mungkin menghadapi kesukaran dalam mengakses dan mengubah suai pembolehubah yang ditakrifkan dalam kaedah yang berbeza. Ini boleh menghalang pelaksanaan kod anda dengan lancar, terutamanya apabila berurusan dengan pembolehubah yang memerlukan operasi saling berkaitan.
Dalam senario tertentu anda, anda mentakrifkan dua kaedah berasingan readG_TextChanged
dan readQ_TextChanged
untuk membaca nilai kotak teks bernama readG
dan readQ
. Anda menukar nilai ini kepada nombor perpuluhan dengan betul dan menyimpannya sebagai _Gd
dan _Qd
masing-masing, tetapi pembolehubah ini hanya sah dalam skop kaedah masing-masing.
Kaedah ini tidak boleh mengakses button1_Click
dan _Gd
dalam pengendali acara klik butang anda _Qd
. Untuk menyelesaikan masalah ini, anda perlu memahami konsep skop. Pembolehubah yang diisytiharkan dalam skop tempatan (seperti badan kaedah) hanya boleh diakses dalam skopnya.
Penyelesaian kepada masalah ini ialah memindahkan pengisytiharan _Gd
dan _Qd
ke peringkat kelas. Dengan mengisytiharkannya sebagai pembolehubah ahli persendirian, anda menjadikannya boleh diakses oleh semua kaedah dalam kelas (termasuk button1_Click
).
Berikut ialah kod yang diubah suai:
<code class="language-csharp">private decimal _Gd; private decimal _Qd; public void readG_TextChanged(object sender, EventArgs e) { string _G = readG.Text; _Gd = Convert.ToDecimal(_G); } public void readQ_TextChanged(object sender, EventArgs e) { string _Q = readQ.Text; _Qd = Convert.ToDecimal(_Q); } private void button1_Click(object sender, EventArgs e) { decimal _ULS = (1.35m * _Gd + 1.5m * _Qd); Console.WriteLine("{0}",_ULS); }</code>
Kini, kaedah button1_Click
boleh mengakses dan menggunakan _Gd
dan _Qd
, membolehkan anda melakukan operasi yang diperlukan dan memaparkan keputusan dalam konsol seperti yang diharapkan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Pembolehubah daripada Kaedah Berbeza dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!