今日收获(1)

今天的收获:

1、对于常用的字符串判断,我比较习惯使用string.IsNullOrEmpty(),顾名思义如果字符串为null或者是""时,会被捕捉到,但是这个方法对字符串只有空格或者制表符的(空白字符串)没反应。我也知道有这么一个方法:string.IsNullOrWhiteSpace(),我之前对它一直存在误解,认为他只会捕捉null和空白字符串(字符串只有空格或者制表符的),而对string.Empty没有反应,但是实际能覆盖null、""和"    /t"这三种

2、对于可空类型的判断我一直都是先用HasValue来判断他是否有值,有值再去取值,否者会报错。如我们取可空类型Nullable<int> maaici 的值:

int? maaici = 1;
var value = maaici.HasValue ? maaici.Value : 0;

今天看到一个方法可以替代上面的写法,而且更加的优雅:maaici.GetValueOrDefault();他还有一个重载,可以传入默认值:maaici.GetValueOrDefault(666);,为null的时候返回这个默认值,如果不设置的话则会返回该类型的默认值,如int返回0;

3、检查Null的操作符:

?? : null合并操作符,如: x??y,如果x为null则返回y,否则返回x

?. : null条件操作符,如:maaici?.abc();  如果maaici == null,也不会报错

发布了31 篇原创文章 · 获赞 56 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/maaici/article/details/101383560