C# compiler error: quot;not all code paths return a valuequot;(C# 编译器错误:“并非所有代码路径都返回值;)
问题描述
我正在尝试编写返回给定整数是否可被 1 到 20 整除的代码,
但我不断收到以下错误:
I'm trying to write code that returns whether or not a given integer is divisible evenly by 1 to 20,
but I keep receiving the following error:
错误 CS0161:ProblemFive.isTwenty(int)":并非所有代码路径都返回值
error CS0161: 'ProblemFive.isTwenty(int)': not all code paths return a value
这是我的代码:
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
语句.
当编译器查看您的代码时,它会看到第三条路径(您未编写代码的 else
)可能会发生但不返回值.因此并非所有代码路径都返回值
.
When the compiler looks at your code, it's sees a third path (the else
you didn't code for) that could occur but doesn't return a value. Hence not all code paths return a value
.
对于我建议的修复,我在循环结束后放置了一个 return
.另一个明显的地方 - 将具有 return
值的 else
添加到 if-else-if
- 会破坏 for
循环.
For my suggested fix, I put a return
after your loop ends. The other obvious spot - adding an else
that had a return
value to the if-else-if
- would break the for
loop.
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; //This is your missing statement
}
这篇关于C# 编译器错误:“并非所有代码路径都返回值";的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:C# 编译器错误:“并非所有代码路径都返回值";
- C#MongoDB使用Builders查找派生对象 2022-09-04
- 如何用自己压缩一个 IEnumerable 2022-01-01
- C# 中多线程网络服务器的模式 2022-01-01
- 带有服务/守护程序应用程序的 Microsoft Graph CSharp SDK 和 OneDrive for Business - 配额方面返回 null 2022-01-01
- 良好实践:如何重用 .csproj 和 .sln 文件来为 CI 创建 2022-01-01
- WebMatrix WebSecurity PasswordSalt 2022-01-01
- 在哪里可以找到使用中的C#/XML文档注释的好例子? 2022-01-01
- 输入按键事件处理程序 2022-01-01
- Web Api 中的 Swagger .netcore 3.1,使用 swagger UI 设置日期时间格式 2022-01-01
- MoreLinq maxBy vs LINQ max + where 2022-01-01