c#編譯器錯誤:理解“並非所有代碼路徑返回值”
public static bool isTwenty(int num) { for(int j = 1; j <= 20; j++) { if(num % j != 0) { return false; } else if(num % j == 0 && num == 20) { return true; } } }
確保所有可能的代碼路徑返回值的必不可少。如果不這樣做,可能會導致“不是所有代碼路徑返回值”編譯器錯誤。
>此代碼試圖確定給定的整數是否為所有整數從1到20的整數都可以均勻排除。但是,它會生成編譯器錯誤,因為它在循環末端缺少返回語句。
public static bool isTwenty(int num) { for(int j = 1; j <= 20; j++) { if(num % j != 0) { return false; } else if(num % j == 0 && num == 20) { return true; } } return false; }要理解此錯誤,重要的是要意識到編譯器檢查所有錯誤可能的代碼路徑以確保它們都返回值。在這種情況下,編譯器會標識可能發生的第三條途徑:循環完成而不會擊中任何IF或其他IF語句的情況。但是,沒有返回語句來處理此路徑。 可以解決此錯誤,只需在循環之後添加返回語句即可確保所有代碼路徑返回值。一個可能的修復程序是:>通過添加此語句,該代碼現在正確處理所有可能的代碼路徑並基於輸入整數返回適當的值。
以上是為什麼我的C#代碼投擲'不是所有代碼路徑返回值”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!