很多奇技淫巧,没有用到不知道,用的多了,奇技淫巧就变成了实用技巧。
用了dotnet这样的语言,使用对象的前提是必须判断null,于是大量的if(obj!=null)obj.foo()之类的代码就应运而生。
还好dotnet引入了 ?? 操作符号。
原代码:这段代码的目的是连接系列号字符串——把 serialout 和 serialin两个字符串用 splitter 连接起来,但是必须考虑到null的情况。
// old code
var serials = "";
if (serialout != null && serialin != null)
{
serials = serialout + splitter + serialin;
}
else if (serialout != null )
{
serials = serialout;
}
else if (serialin != null)
{
serials = serialin;
}
新代码:利用?? 操作符,把判null的过程变得不那么琐碎,而是看起来简单已读。
var serials = (serialout ?? "") + splitter + (serialin ?? "");
serials.TrimStart(splitter);
这里用到了??操作符,??表是,如果操作符前面的对象不为null,就用前面的对象,否则返回后面的对象。
TrimStart 如果serials的第一个字符是splitter的化,删除它。
这样就把原来的若干行变成一行,也不再需要嵌套,代码更加清晰易懂。
在我们的代码中,这样的代码技巧应用的很多。
分享到:
相关推荐
if-elseif-else使用范例
编译原理课程设计,是对PL0语言的扩充。 主要包括if-then-else,do-while-until,for 资源里有我写的报告和源码,c++实现。 需要自己运行测试
你学习了如何编写简单的if 语句、 if-else 语句和if-elif-else 结构。 在程序中, 你使用了这些结构来测试特定的条件, 以确定这些条件是否满足。 你学习了如何在利用高效的for 循环的同时, 以不同于其他元素的...
C语言中分支结构:if语句、if-else语句和switch语句的使用方法 C语言中分支结构是一种非常基本但非常重要的编程结构,它允许程序根据条件执行不同的代码块。在C语言中,分支结构有三种基本类型:if语句、if-else...
本文将对if-else语句的嵌套关系进行详细的分析和解释,包括if-else语句的基本概念、if-else语句的嵌套关系、if-else语句的执行顺序等方面的内容。通过对if-else语句的分析,可以更好地理解C语言程序设计的基本原理和...
04-v-if和v-else-if和v-else.vue
首先vue.js请注意 2.1.0版本以上方可使用v-else-if <!DOCTYPE html> <html> <head> <meta charset=UTF-8> <title></title> [removed][removed] </head> <body>...
vue- 基础使用 ,v-for、v-bind、v-if/v-else、v-show、v-model、.v-on
c++if和else,5-2!
Where-Object 进行条件判断很方便,如果在判断后执行很多代码可以使用IF-ELSEIF-ELSE语句。语句模板: 代码如下: If(条件满足){ 如果条件满足就执行代码 } Else { 如果条件不满足 } 条件判断必须放在圆括号中,...
模拟汽车模拟汽车模拟汽车模拟汽车模拟汽车模拟汽车模拟汽车模拟汽车模拟汽车模拟汽车模拟汽车模拟汽车模拟汽车模拟汽车模拟汽车模拟汽车模拟汽车模拟汽车模拟汽车模拟汽车模拟汽车模拟汽车模拟汽车模拟汽车模拟汽车...
IF-ELSE条件语句的翻译程序设计(递归下降法、输出三地址表示)
Vue.js基础 什么是Vue.js?它与其他JavaScript框架(如React和Angular)有什么不同? 请解释Vue的双向数据绑定是什么?...什么是v-if和v-else指令?它们用于条件渲染的场景 .................................
代码中大量的 if else 如何优化 在编程中,我们常常会遇到大量的 if else 语句,这些语句会使得代码变得难以维护和阅读。那么,如何优化这些 if else 语句呢?下面我们来讨论一些常见的优化方法。 首先,让我们看...
IF-ELSE条件语句的翻译程序设计(LR方法、输出三地址表示)
语法分析-if-else的匹配问题语法分析-if-else的匹配问题
代码如下: <?...if (isset($_GET[“q”])) { search(q); } else { //do nothing ...在sh/bash里可不能这么写,...当然,也可以写成一行(适用于终端命令提示符),像这样: 代码如下: if test $[2*3] -eq $[1+5];
Objective-C下 else if 范例,具体说明请参见苹果开发者 Mike 的博文http://blog.sina.com.cn/s/blog_7aa21f320100r5dp.html
IF-ELSE条件语句的翻译程序设计(LL(1)法、输出三地址表示)
asp.net---- if else 语句