c# - “并非所有代码路径都返回值”错误发生在方法中,但我确实使用了一些 if 语句来涵盖所有场景
问题描述
这可能是一个愚蠢的问题,但我只想有人可以给出更好的解释。
我有一个定义如下的方法:
private int Test(int i)
{
if (i < 0) return -1;
if (i == 0) return 0;
if (i > 0) return 1;
//return 0;
}
它给了我这个错误“并非所有代码路径都返回一个值”。
我以为我有 3 if statement
,它可以涵盖所有场景(i<0,i==0,i>0)。所以它不应该告诉我这个错误。
解决方案
编译器没有那么聪明。此外,您的代码效率稍低,因为它测试确定性(i
在最后一种情况下必须大于零)。
写成:
private int Test(int i)
{
if (i < 0) return -1;
else if (i == 0) return 0;
else return 1;
}
推荐阅读
- grails - 使用 GORM 6.0.12 插入带有空值的属性
- reactjs - 酶 mount().find 没有找到任何东西
- android - 如何使用片段将 Firebase 数据填充到微调器中
- mysql - MySQL查询给工资低于平均工资的员工5%的奖金
- php - 如何在我的 wordpress 站点中解决这个问题致命错误:无法重新声明 true_plugins_activate()(之前在
- c# - 如何从 sqlite c# 中的以下查询中获取表名
- python - anaconda提示符中的Python命令不起作用
- javascript - Javascript Reactjs:有没有办法以表单形式运行 MySQL 查询
- c# - 服务器端 mp3 音高/键更改
- azure - 如何使用 Powershell 从 Azure APP 服务获取配置->应用程序设置