管道操作员,它是如何工作的?

Dun*_*mer 3 c# pipe operator-keyword

所以我刚才搞乱并写出来:

        int i = 0|1|2|3|4|5|6|7|8|9|10;

        Console.WriteLine(i.ToString());
        Console.Read();
Run Code Online (Sandbox Code Playgroud)

这输出15.为什么输出15?管道操作员做什么?

你能给我一个实际使用它的例子吗?

我理解这是否是一个毫无意义的问题.

p.s*_*w.g 15

这是按位的OR运算符

OR运算符的基本真值表是:

  A  B  A|B
  0  0   0
  0  1   1
  1  0   1
  1  1   1
Run Code Online (Sandbox Code Playgroud)

所以要分析你的情况0|1|2|3|4|5|6|7|8|9|10,二进制,那是:

 0 = 0b00000 
 1 = 0b00001 
 2 = 0b00010 
 3 = 0b00011 
 4 = 0b00100 
 5 = 0b00101 
 6 = 0b00110
 7 = 0b00111 
 8 = 0b01000 
 9 = 0b01001 
10 = 0b01010
------------
15 = 0b01111 
Run Code Online (Sandbox Code Playgroud)

进一步阅读

  • 然后突然解释了. (4认同)