返回语句中的or操作符
本文关键字:or 操作符 语句 返回 | 更新日期: 2023-09-27 18:04:22
我偶然发现了这段代码,到目前为止我真的不理解。我清楚地知道或运算符||
在以下代码中的作用:
bool a = true;
bool b = false;
if(a || b)
{
//does something, if one of a/b is true
}
但这是一个结构,我不明白:
public bool c
{
get
{
return a || b; //?
}
set
{
c = value;
}
}
这个getter用return-statement返回什么,为什么?
这将返回结果值
a || b
是一个布尔值。(注意,函数签名表明它返回一个bool
。)这基本上与您的其他示例没有什么不同:
if(a || b)
if
语句期望的结果是布尔值,而||
对两个值的计算结果是布尔值。
通常可以认为return
关键字具有与赋值语句相同的运算符优先级(它将值"赋"给堆栈上函数的返回路径)。所以你可以想象这里有一组隐含的括号:
return (a || b);
首先计算a || b
,然后调用return
的值
如果a或b为真,则返回真
非常简单,如果a或b为真(或两者都为真),则返回true
等于:
public bool c
{
get
{
if(a || b)
return true;
else
return false;
}
set
{
c = value;
}
}