C# 建议转换为 '|=' 表达式

C# Suggestion Convert to '|=' expression

好的,如果这是一个愚蠢的问题,我深表歉意,但我无法通过 google 搜索来找到我正在寻找的内容,而且我不确定还能转向哪里。我正在编写一些 C# 代码并有一个简单的 if 语句查看 2 个布尔值。

if(a && !b)
    do something

我正在使用 MonoDevelop 或 Xamarin Studio 或其他名称,它在蓝色的 if 下划线,弹出窗口显示:建议:转换为“|=”表达式。我不是一个没有经验的程序员,但我认为我以前从未见过 |= 并且我不知道这意味着什么或这个建议暗示什么,如果它实际上是完全有效。有谁愿意给我线索吗?感谢您的帮助。

由于其他人的要求而编辑更多内容 真正的代码仅此而已。本质上是

if(a && !b)
    c = true;

由于我使用了三个不同的变量,所以我不太确定如何使按位快捷运算符在这里工作,但按位运算是我能力的一大不足。但这正是建议在带下划线的 if.

中所说的内容

这是按位或和赋值。 a |= b 等同于 a = a | b.

您可以查看处理这种情况的代码以获取更多详细信息。

MonoDevelop(以及几乎所有 Xamarin Studio(移动插件除外))都是开源的。

https://github.com/icsharpcode/NRefactory/blob/master/ICSharpCode.NRefactory.CSharp.Refactoring/CodeIssues/Synced/PracticesAndImprovements/ConvertIfToOrExpressionIssue.cs