C# 这两种表达方式有什么区别?

C# 这两种表达方式有什么区别?,c#,boolean-operations,C#,Boolean Operations,我想知道这两种方法之间的区别是什么,|=和简单的=虽然结果相同。我不知道有什么区别 这是为了教育目的 public int ValueA{get;set;} 公共int值b{get;set;} bool someBool{get;private set;} #区域使用_|= someBool |=ValueA>=ValueB; #端区 #使用_-basic的区域_= someBool=ValueA>=ValueB; #端区 我从未见过它,但它似乎像自增的+=操作符一样工作,除了布尔值。因此|=表

我想知道这两种方法之间的区别是什么,
|=
和简单的
=
虽然结果相同。我不知道有什么区别

这是为了教育目的

public int ValueA{get;set;}
公共int值b{get;set;}
bool someBool{get;private set;}
#区域使用_|=
someBool |=ValueA>=ValueB;
#端区
#使用_-basic的区域_=
someBool=ValueA>=ValueB;
#端区

我从未见过它,但它似乎像自增的
+=
操作符一样工作,除了布尔值。因此
|=
表示“将变量设置为原始值或右侧值的逻辑结果”

因此,在下面的代码中,
b
变为true,因为它最初为true,然后将该初始值与false进行比较。真或假=真

var b = true;
b |= false;
Console.WriteLine(b); // true
但是这里,
b
只是简单地设置为true

b = false;
Console.WriteLine(b);

正如我所怀疑的,还有一个
&=
操作符。

someBool |=ValueA>=ValueB->
someBool=someBool | ValueA>=ValueB