我看到用C#编写的方法返回一个布尔值.方法的return语句如下所示:
return count > 0;
Run Code Online (Sandbox Code Playgroud)
如果我正确读取它,如果count大于零,它将返回一个值.如果'count'的值不大于0会发生什么?什么回来了?零?如果是这样的话,那么返回声明就不能说:
return count;
Run Code Online (Sandbox Code Playgroud)
不,它是一个返回布尔值的表达式,所以
return count > 0;
Run Code Online (Sandbox Code Playgroud)
如果count为1+,则返回true,否则返回false.
它返回表达式的值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等),但它们只是普通表达式,可以像任何其他表达式一样进行求值.