Memahami ralat "Penggunaan pembolehubah setempat yang tidak ditetapkan"
Ralat "Penggunaan pembolehubah tempatan yang tidak ditetapkan" berlaku apabila pembolehubah digunakan tetapi tidak diberikan nilai. Dalam kod yang disediakan, ia merujuk kepada pembolehubah annualRate
, monthlyCharge
dan lateFee
.
Pengkompil mengeluarkan ralat ini kerana ia menjangkakan semua pembolehubah setempat akan dimulakan atau ditetapkan sebelum digunakan. Walau bagaimanapun, dalam kod yang disediakan, mana-mana syarat creditPlan
dalam penentuan pelan kredit (if
) mungkin tidak dipenuhi. Akibatnya, pembolehubah annualRate
, monthlyCharge
dan lateFee
kekal tidak ditetapkan.
Selesaikan masalah
Untuk menyelesaikan ralat ini, kami perlu memastikan bahawa pembolehubah ini diberikan nilai dalam semua kes yang mungkin. Ini boleh dicapai dengan menggunakan blok else
atau pernyataan switch
:
else
sekat<code class="language-c#">if (creditPlan == "0") { // ... } else if (creditPlan == "1") { // ... } else if (creditPlan == "2") { // ... } else { // 当 creditPlan 未指定时的默认值 annualRate = 0.15; // 15% lateFee = 0.00; monthlyCharge = 0.00; }</code>
switch
pernyataan<code class="language-c#">switch (creditPlan) { case "0": // ... break; case "1": // ... break; case "2": // ... break; default: // 当 creditPlan 未指定时的默认值 annualRate = 0.15; // 15% lateFee = 0.00; monthlyCharge = 0.00; break; }</code>
Dengan memastikan pembolehubah ini diberikan nilai dalam semua kes, pengkompil boleh mengenal pasti dan menghalang penggunaan pembolehubah tempatan yang tidak ditetapkan dengan betul. Ini menghasilkan kod yang lebih mantap dan bebas pepijat.
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Penggunaan Pembolehubah Tempatan Tidak Ditugaskan' dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!