首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >返回布尔值的方法

返回布尔值的方法
EN

Stack Overflow用户
提问于 2012-09-27 23:15:21
回答 7查看 148.4K关注 0票数 3

我在创建一个具有bool返回值的方法时遇到了一个问题:

这是可行的

代码语言:javascript
运行
复制
private bool CheckAll()
{
  //Do stuff
  return true;
}

但这不是这样的,如果返回值在if语句中,则该方法不能检测返回值。

代码语言:javascript
运行
复制
private bool CheckAll()
{
  if (...)
  {
    return true;
  }
}

我该如何解决这个问题呢?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-09-27 23:18:15

代码语言:javascript
运行
复制
private bool CheckAll()
{
    if ( ....)
    {
        return true;
    }

    return false;
}

当if-condition为false时,该方法不知道应该返回什么值(您可能会得到类似“不是所有路径都返回值”这样的错误)。

作为CQQL pointed out,如果你想在if条件为true时返回true,你可以简单地写下:

代码语言:javascript
运行
复制
private bool CheckAll()
{
    return (your_condition);
}

如果你有副作用,并且你想在返回之前处理它们,那么第一个(长)版本将是必需的。

票数 28
EN

Stack Overflow用户

发布于 2012-09-27 23:20:07

长版本:

代码语言:javascript
运行
复制
private bool booleanMethod () {
    if (your_condition) {
        return true;
    } else {
        return false;
    }
}

但是,由于您使用的是条件的结果作为方法的结果,因此可以将其缩短为

代码语言:javascript
运行
复制
private bool booleanMethod () {
    return your_condition;
}
票数 4
EN

Stack Overflow用户

发布于 2014-10-13 01:43:28

代码语言:javascript
运行
复制
     public bool roomSelected()
    {
        int a = 0;
        foreach (RadioButton rb in GroupBox1.Controls)
        {
            if (rb.Checked == true)
            {
                a = 1;
            }
        }
        if (a == 1)
        {
            return true;
        }
        else
        {
            return false;
        }
    }

这就是我解决问题的方法

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12624666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档