“&”与“ &&”的用法

我遇到了这个:

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

回到顶部