C# if中如果有多个条件,执行顺序如何?对象的Null判断

Haidee ·
更新时间:2024-09-20
· 973 次阅读

之前写的代码是这样的。对可空类型的变量做操作时,会先判断一下是否为空

string myString=null; if(myString!=null) { if(myString.Length>0) { } }

其实2个if是可以放在一起写的,

string myString=null; if(myString!=null && myString.Length>0) { }

不用担心同时判断的时候,为空怎么办?

因为If中的条件判断是从左往右开始的,所以判断是否为空的语句写在左边即可。

另外,在C#6.0中,新增加了一个特性,在变量后面如果加“?”,意思是若变量为null,则不执行该语句,也就是做了null检查。

string asd = null; if (asd.Length>0) {}

上述代码中,显然在if语句中会报错,因为asd为空。若改成下面:

string asd = null; if (asd?.Length>0) {}

这样就不会报错了,因为asd为空的时候,直接跳过去。


作者:哀家爆



IF 对象 C# 如果 null

需要 登录 后方可回复, 如果你还没有账号请 注册新账号