例如:
private bool isThisADumbQuestion(bool trustMeThisWilLBeTrue)
{
if (trustMeThisWilLBeTrue)
return true;
}
Run Code Online (Sandbox Code Playgroud)
这总是给出错误,即并非所有路径都返回值.在这种情况下,函数声明中是否可以返回默认值?从逻辑上讲:
private (bool = false) isThisADumbQuestion() {}
Run Code Online (Sandbox Code Playgroud)
我猜这不可能,但我还在学习很多C#语法,所以我想我会问以防万一.看起来它可能是一个有用的功能,可以在函数体内保存大量的检查.
编辑: 上面的代码是一个逻辑示例,不能作为一个实际的方法.我编辑它以便它实际上会给出承诺的错误.伙计们,对不起,对不起.
不,这是不可能的.非void返回函数上的所有代码路径必须以显式return或throw语句终止.
注意:正如xanatos所指出的,对于C#编译器可以确定永不终止的方法,上述规则有一个例外.例如
int Test() {
while (true) { }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
649 次 |
| 最近记录: |