我是靠谱客的博主 落寞硬币,最近开发中收集的这篇文章主要介绍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,返回右操作数(右边表达式)

null和空字符的区别:

1、NULL:代表声明了一个空对象,不是一个字符串,可以赋给任何对象。

空字符:代表声明了一个对象实例,这个对象实例的值是一个长度为0的空字符串。

2、String s=null; 只是定义了一个句柄,即你有了个引用,但是这个引用未指向任何内存空间。

String s=”“; 这个引用已经指向了一块是空字符串的内存空间,是一个实际的东东了,所以可以对它操作。

String s=”a”和String s=new String(“a”);是有本质上的区别的 :

(1) 前者是在字符串池里写入一个字符’a’,然后用s指向它; 后者是在堆上创建一个内容为”a”的字符串对象。

(2) String str=”aaa”; //于栈上分配内存 ;String str=new String(“aaa”); //于堆上分配内存

最后

以上就是落寞硬币为你收集整理的null与空字符串区别的全部内容,希望文章能够帮你解决null与空字符串区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部