null和空字符串的区别

null与空字符串主要区别如下:

1,null不指向任何对象,相当于没有任何值;而“”代表一个长度为0的字符串

2,null不分配内存空间;而“”会分配内存空间

例如:

string str = null;//定义可空类型变量
str = str ?? "";//使用合并运算符

Console.WriteLine(str); //1000
Console.ReadLine();

 结果是 :“”(控制台输出为空)

注:

(1)单问号?  可用于对int,double,bool等无法直接赋值为null的数据类型进行null的赋值

(2)双问号??  null合并运算符,如果此运算符的左操作数不为 null,则此运算符将返回左操作数(左边表达式);否则当左操作数为 null,返回右操作数(右边表达式)

posted on 2017-09-06 09:29  HubbertHu  阅读(18931)  评论(0编辑  收藏  举报