C# 中 || 与 |、&& 与 & 的区别

|| 与 |、&& 与 & 均可用于逻辑比较,但是 ||、&& 在明确结果后,不会继续执行右边,而 |、& 总是会继续执行。

protected bool Second()
{
	Response.Write("I'm here.");
	return true;
}


protected void Page_Load(object sender, EventArgs e)
{
	if (true || Second())
	{
		Response.Write("true");
	}
}

如上,结果只会显示为 true。

但是如果我们将 || 改为 |,Second 会得到执行,结果为:I'm here.true。

所以微软并不推荐在比较时使用:|、&。

|、& 的用处其实是在位运算

var m = 1 | 2;
Response.Write(m);

结果为 3。

你可能感兴趣的