C# 任何参考资料/MSDN教程,以显示对以下任一项的支持;如果(!条件)“;或;如果(条件==false)“;?
对于误读问题的人:让我们假装。C# 任何参考资料/MSDN教程,以显示对以下任一项的支持;如果(!条件)“;或;如果(条件==false)“;?,c#,coding-style,if-statement,conditional,msdn,C#,Coding Style,If Statement,Conditional,Msdn,对于误读问题的人:让我们假装。 我不是在寻找“正确的方法”,我是在寻找支持任何一方的可验证参考。 (请读到最后) 上下文 在另一条帖子上的评论中,一个人说他的朋友们会请求对我的意见是否有分歧 if (!condition) 或 在C#中是首选 尽管我确信我知道如何做正确的事情™, 我找不到任何证据表明我的观点在C#编码和设计指南中都不是官方的 问题 除了常识之外,还有什么实质性的东西支持任何一方吗 (一本广受赞誉的书中的段落或任何microsoft.com上托管的文档中使用或规定了其中一种风格
我不是在寻找“正确的方法”,我是在寻找支持任何一方的可验证参考。 (请读到最后) 上下文 在另一条帖子上的评论中,一个人说他的朋友们会请求对我的意见是否有分歧
if (!condition)
或
在C#中是首选
尽管我确信我知道如何做正确的事情™, 我找不到任何证据表明我的观点在C#编码和设计指南中都不是官方的
问题
除了常识之外,还有什么实质性的东西支持任何一方吗
(一本广受赞誉的书中的段落或任何microsoft.com上托管的文档中使用或规定了其中一种风格的将回答问题)如果(!条件)
和如果(条件)
优于如果(条件==false)
和if(条件==true)
,因为前者同样可读且不太冗长
创建人第13页的底部显示:
避免根据true或false计算布尔条件
但是它不是官方的,也不是微软的。有时我使用if(condition==false)如果条件为false是一个极端的边缘情况,它会让我注意到这一事实。如果同时使用bool?和bool类型,那么==false会使代码更加统一。我怀疑您得到的答案会非常类似。在命名变量方面有一些要点。if(!Node.haschilds)
比if(Node.haschilds==false)读取更自然
@iterationx:非常酷的观察结果,尽管它没有回答这个问题。@closer:我编辑了标题,现在应该更清楚了。你会在MSDN上看到这两个标题。我在MS工作,并编写了其中一些示例……我保证没有关于这方面的官方指南。同意,条件==false
主要是表示没有什么意义变量的命名。实际上不回答question@Bala:你能用一个可验证的参考来确认吗?这就是问题所在。@gaearon请参阅第13页“抱歉”的底部部分搜索结果中出现在顶部的是一些随机编码标准文档,但本质上它都归结为贵组织遵循的编码标准lowing.在这个问题上没有严格的对/错方法。也没有关于间隔的官方指南。请重新阅读这个问题,这不是被问到的问题。
if (condition == false)
// Bad!
if (isValid == true)
{ ... }
// Good!
if (isValid)
{ ... }