首页 / C# / c# – IF语句中的运算符顺序
c# – IF语句中的运算符顺序
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – IF语句中的运算符顺序,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含953字,纯文字阅读大概需要2分钟。
内容图文
![c# – IF语句中的运算符顺序](/upload/InfoBanner/zyjiaocheng/762/406f4cd41aba4e4ab7122f07b7495ebc.jpg)
我经常在必要时执行此操作以防止空指针异常:
// Example #1
if (cats != null && cats.Count > 0)
{
// Do something
}
在#1中,我总是假设猫!= null需要先行,因为操作顺序从左到右进行评估.
但是,与示例#1不同,现在我想要做一些事情,如果对象为null或Count为零,因此我使用逻辑OR而不是AND:
// Example #2
if (table == null || table.Rows == null || table.Rows.Count <= 0)
{
// Do something
}
逻辑比较的顺序是否重要?或者我也可以反转顺序并获得相同的结果,例如在示例#3中?
// Example #3
if (table.Rows.Count <= 0 || table.Rows == null || table == null)
{
// Do something
}
(顺便说一下,我意识到我可以像下面那样重写#2,但我觉得它很乱,而且我仍然对OR运算符感到好奇)
// Example #4
if (!(table != null && table.Rows != null && table.Rows.Count > 0))
{
// Do something
}
解决方法:
是的,在这两种情况下都会发生短路,唯一的区别在于&&如果LHS为假(因为整体表达式必须为假),则在||时停止如果LHS为真,则停止(因为整体表达式必须为真).
您问题中的前两个示例是正确的,如果table或table.Rows为null,则第三个将抛出异常.
内容总结
以上是互联网集市为您收集整理的c# – IF语句中的运算符顺序全部内容,希望文章能够帮你解决c# – IF语句中的运算符顺序所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。