C#Suggestion转换为'| ='表达式

时间:2015-02-12 17:21:24

标签: c# monodevelop xamarin-studio

好的,如果这是一个愚蠢的问题,我很抱歉,但我无法通过谷歌搜索找到我正在寻找的内容,而且我不知道还有什么地方可以转向。我正在写一些C#代码并且有一个简单的if语句,看着2个布尔值。

if(a && !b)
    do something

我使用的是MonoDevelop或Xamarin Studio或其他所谓的内容,它强调了if in blue和popup说:建议:转换为' | ='表达即可。我不是一个没有经验的程序员,但我以前从未见过 | = ,我不知道这意味着什么或者这个建议是什么意思,如果它实际上甚至都是有效的。有谁愿意提示我?谢谢你的帮助。

编辑其他内容,因为其他人要求 真正的代码不仅仅是那个。它本质上是

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

我不太确定如何使按位快捷键操作符在这里工作,因为我使用了三个不同的变量,但按位操作是我能力的一个巨大缺点。但这正是建议在加下划线的if上所说的。

2 个答案:

答案 0 :(得分:3)

它是一个按位OR和赋值。 a |= b相当于a = a | b

答案 1 :(得分:0)

您可以查看处理此案例的代码以获取更多详细信息。

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

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