“&”与“ &&”的用法
我遇到了这个:
bool Isvalid = isValid & CheckSomething()bool Isvalid = isValid && CheckSomething()
第二种情况可能是发生短路的情况。
那么,我们不能总是只使用&
代替&&
吗?
回答:
&是按位“与”,表示它在位级别起作用。&&是逻辑“
AND”,表示它在布尔(真/假)级别上起作用。逻辑AND使用短路(如果第一部分为假,则没有必要检查第二部分),以防止在按位AND需要逐位AND运算时运行多余的代码,这样它将获得值。
您应该使用逻辑AND(&&),因为这就是您想要的(&可能无法正确执行操作),但是如果您要评估其副作用,可能需要单独运行该方法:
var check = CheckSomething();bool IsValid = isValid && check;
以上是 “&”与“ &&”的用法 的全部内容, 来源链接: utcz.com/qa/431540.html