之前写的代码是这样的。对可空类型的变量做操作时,会先判断一下是否为空
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为空的时候,直接跳过去。
作者:哀家爆