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

Kev*_*vin 1 c#

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

return count > 0;
Run Code Online (Sandbox Code Playgroud)

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

return count;
Run Code Online (Sandbox Code Playgroud)

Llo*_*oyd 6

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

return count > 0;
Run Code Online (Sandbox Code Playgroud)

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


Jon*_*eet 6

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

就像这样:

bool result = (count > 0);
return result;
Run Code Online (Sandbox Code Playgroud)

另一种思考方式(但永远不要写这段代码):

bool result = (count > 0) ? true : false;
return result;
Run Code Online (Sandbox Code Playgroud)

要么

bool result;
if (count > 0)
{
    result = true;
}
else
{
    result = false;
}
return result;
Run Code Online (Sandbox Code Playgroud)

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