Jos*_*osh -9 c# null if-statement coding-style
我来自C/C++背景,最近开始从事C#工作的新工作.我在很多代码和例子中找到了人们在if语句中使用这个约定
if(obj != null)
Run Code Online (Sandbox Code Playgroud)
我记得被告知要尽可能避免使用否定逻辑.那么为什么不是这样的呢
if(obj)
Run Code Online (Sandbox Code Playgroud)
用来代替?是否存在使用前一种编码方式的代码标准?我认为这两个陈述的评价相同,但也许他们的评价不同?
任何输入都非常感谢.
简单的事实是,C#具有并使用真正的布尔类型.一个if期望一个布尔值.if(obj)如果obj不是布尔值,那么语法错误也是如此.
if表达式必须是布尔值.说我有一个字符串:
string test = null;
Run Code Online (Sandbox Code Playgroud)
if (test)不会编译因为test 不是bool.它只返回字符串引用.因此,要检查null,您实际上必须检查null:
if (test != null)是一种表达不返回一个布尔值,因此编译,并检查空的标准方式.
| 归档时间: |
|
| 查看次数: |
107 次 |
| 最近记录: |