任何引用/ MSDN教程显示支持“if(!condition)”或“if(condition == false)”?
对于那些误读了这个问题的人:让我们假装我们在维基百科上 。
我不是在寻找“正确的方法”,我正在寻找可validation的参考资料以支持任何一方。
(请读到最后)
上下文
在对另一个主题的评论中,一个人说他的朋友会乞求我对是否的意见不一致
if (!condition)
要么
if (condition == false)
在C#中是首选。
尽管我确信我知道如何做正确的事情,但我无法找到任何证据,无论是C#编码还是设计指南,我的观点都是正式的。
问题
除了常识之外,还有什么实质性的东西可以支持任何一方吗?
( 广受赞誉的书中的一个段落或在microsoft.com
上托管的任何文档, 使用或规定任何一种风格都会回答问题 )
if (!condition)
和if (condition)
优先于if (condition == false)
和if (condition == true)
因为前者同样可读且不那么冗长。
由Lance Hunt创建的C#Coding Standards for .NET第13页的底部部分说:
避免根据true或false评估布尔条件。
// Bad! if (isValid == true) { ... } // Good! if (isValid) { ... }
然而,它绝不是官方的,它不是来自微软。
有时我使用if(condition == false)如果条件为false是极端边缘情况 – 它会引起我对这个事实的关注。