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代码>