C#中的双重问题#
发布时间:2020-12-15 20:48:06 所属栏目:百科 来源:网络整理
导读:我经常发现自己编写类似的代码,如下例所示: if (object["Object Name"] != null) { if (object["Object Name"] == "Some Value") { // Do Statement A } else { // Do Statement B }} else { // Do Statement B} 这里的问题是我检查一个对象是否为null然后
我经常发现自己编写类似的代码,如下例所示:
if (object["Object Name"] != null) { if (object["Object Name"] == "Some Value") { // Do Statement A } else { // Do Statement B } } else { // Do Statement B } 这里的问题是我检查一个对象是否为null然后我可以检查它的实际内容. “语句B”始终相同,在我的情况下通常是SQL语句. 必须有更好的解决方法吗? 谢谢 解决方法
C#中存在短路,因此您可以执行以下操作:
if(null != object && object.name == foo) do A else do B C#总是首先计算条件语句中的第一个表达式,如果失败,它不会在语句的那一部分中尝试任何其他表达式. 为了进一步说明这一点,如果您要在条件语句中进行昂贵的操作以及一个或多个廉价操作,最好尽可能将其放在最后,因此它只会在确实需要时检查昂贵的操作. .所以像 if(trivial comparison && trivial comparison && REALLY EXPENSIVE OPERATION) 它现在只会作为最后的手段执行昂贵的操作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Flex中如何通过verticalScrollPosition和maxVerticalScroll
- VC++中图像处理类CBitmap的用法
- objective-c – 如何在Objective C中发送superview
- [XML学习笔记]001-XML概述、编写XML文档
- c# – 在实体框架中使用存储的函数
- 深入理解Flash Player的应用程序域(Application Domains)
- swift – NSURLSession / NSURLConnection HTTP加载失败(kC
- c – 在集合中修改对象的可变成员是否安全?
- ajax UpdatePanel用法
- ruby – 使用外部TTF字体使用prawn生成带日文文本的PDF