C# 中的 | 和 || 或运算符有什么区别?

csharpserver side programmingprogramming更新于 2025/9/29 19:22:17

| 运算符

| 运算符计算其操作数的逻辑或。如果 x 或 y 计算结果为真,则 x | y 的结果为真。否则,结果为假。

即使左侧操作数计算结果为真,| 运算符也会计算两个操作数,因此无论右侧操作数的值如何,运算结果都为真。

|| 运算符

条件逻辑或运算符 ||,也称为"短路"逻辑或运算符,计算其操作数的逻辑或。

如果 x 或 y 计算结果为真,则 x || y 的结果为真。否则,结果为假。如果 x 计算结果为真,则不计算 y。

示例

class Program {
   static void Main(string[] args){
      int a = 4;
      int b = 3;
      int c = 0;
      c = a | b;
      Console.WriteLine("Line 1 - Value of c is {0}", c);
      Console.ReadLine();
   }
}

输出

Value of c is 7
Here the values are converted to binary
4−−100
3−−011
Output 7 −−111

示例 2

static void Main(string[] args){
   int a = 4;
   int b = 3;
   int c = 7;
   if (a > b || b > c){
      System.Console.WriteLine("a is largest");
   } else {
      System.Console.WriteLine("a is not largest");
   }
   Console.ReadLine();
}

输出

a is largest

在上面的例子中,其中一个条件返回 true,因此它从不检查下一个条件。


相关文章