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