这个方法的return语句返回什么?

时间:2010-04-28 08:53:48

标签: c#

我看到用C#编写的方法返回一个布尔值。方法的return语句如下所示:

return count > 0;

如果我正确读取它,如果count大于零,则返回一个值。如果'count'的值不大于0会发生什么?什么回来了?零?如果是这种情况,那么返回声明就不能说:

return count;

5 个答案:

答案 0 :(得分:6)

不,这是一个返回布尔值的表达式,所以

return count > 0;

如果count为1+,则返回true,否则返回false。

答案 1 :(得分:6)

它返回表达式count > 0的值。这是一个布尔表达式(即bool类型。)

就是这样:

bool result = (count > 0);
return result;

另一种思考方式(但从不编写此代码):

bool result = (count > 0) ? true : false;
return result;

bool result;
if (count > 0)
{
    result = true;
}
else
{
    result = false;
}
return result;

这些都是可怕的扭曲,但重要的是count > 0 只是类型为bool的表达式。布尔表达式通常在条件中使用(if,while等),但它们只是普通表达式,可以像任何其他表达式一样进行求值。

答案 2 :(得分:3)

false,如果count不大于零,将返回表示与true相反的可靠旧常量。

答案 3 :(得分:3)

你可以重写return语句,如下所示:

if (count > 0)
            {return true;}
        else 
            {return false;}

如果你返回count,你将返回一个整数值,而方法签名将不再匹配

答案 4 :(得分:2)

如果count的值不大于0,则返回false