Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk memperbaiki ralat 'tidak semua kod mengembalikan nilai' dalam C#?
Menyelesaikan masalah C# "Tidak semua laluan kod mengembalikan nilai" ralat
ralat compiler c# common "tidak semua jalur kod mengembalikan nilai" timbul apabila kaedah yang diisytiharkan untuk mengembalikan nilai (mis.,, int
, bool
) Kemungkinan senario. Ini sering berlaku dengan pernyataan bersyarat (seperti string
/if
blok) atau gelung. else
<code class="language-csharp">public static bool IsDivisibleByOneToTwenty(int num) { for (int j = 1; j <= 20; j++) { if (num % j != 0) { return false; // Returns false if not divisible by j } } // Missing return statement here! }</code>pengkompil bendera ralat kerana jika gelung selesai tanpa mencari pernyataan yang tidak divisor, tidak
dilaksanakan. Kod secara tersirat membayangkan kembali return
(jika nombor itu boleh dibahagikan dengan semua nombor dari 1 hingga 20), tetapi ini tidak dinyatakan secara jelas. true
<code class="language-csharp">public static bool IsDivisibleByOneToTwenty(int num) { for (int j = 1; j <= 20; j++) { if (num % j != 0) { return false; } } return true; // Explicitly return true if the loop completes successfully }</code>Menambah
selepas gelung memastikan bahawa nilai dikembalikan dalam semua laluan pelaksanaan, menyelesaikan ralat pengkompil. Pulangan eksplisit ini mengendalikan kes di mana nombor itu memang boleh dibahagikan dengan semua nombor dari 1 hingga 20. return true;
Atas ialah kandungan terperinci Bagaimana untuk memperbaiki ralat 'tidak semua kod mengembalikan nilai' dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!