c# - 有没有办法在没有 return 语句的情况下在函数中返回默认值?

例如:

private bool isThisADumbQuestion(bool trustMeThisWilLBeTrue)
{
    if (trustMeThisWilLBeTrue)
        return true;
}

这总是给出并非所有路径都返回值的错误。在这种情况下,函数声明中是否可以让它返回默认值?从逻辑上讲:

private (bool = false) isThisADumbQuestion() {}

我猜这是不可能的,但我仍在学习大量 C# 语法,所以我想我会问以防万一。似乎这是一个有用的功能,可以在函数体内节省大量检查。

编辑: 上面的代码是一个逻辑示例,不能作为实际方法。我对其进行了编辑,以便它实际上会给出 promise 的错误。抱歉给您带来麻烦,伙计们。

最佳答案

不,这是不可能的。非 void 返回函数上的所有代码路径必须以显式 returnthrow 语句终止。

注意:正如 xanatos 所指出的,对于 C# 编译器可以确定永不终止的方法,上述规则有一个异常(exception)。例如

int Test() {
  while (true) { }
}

https://stackoverflow.com/questions/7758492/

相关文章:

php - 在 PHP 中使用不可打印字符作为分隔符?

perl - 我如何在运行时在 Perl 中绑定(bind) DBI 参数?

objective-c - 在 UIImageView 之上覆盖 UIImage,可能吗?示例代码?

groovy - 在 Groovy 中使用 When and Then?

macos - sudo 命令后出现段错误

r - 在 R 中缩放数据忽略特定列

bash - nohup 和 sed,重定向 stderr 和 stdout

php - 如何防止 mod_rewrite 处理 HTTP Post 请求?

python - 如何将空查询集指定为非空查询集 : [ ] to []

php - Wordpress - 按日期范围获取帖子