黑马程序员技术交流社区

标题: C#中关于null的问题 [打印本页]

作者: 刘赛    时间: 2013-4-30 21:26
标题: C#中关于null的问题
本帖最后由 刘赛 于 2013-4-30 22:06 编辑

string s="";//这时这个字符串的长度为0,但这个字符串是存在的
而我如果想得到一个没有长度的字符串时我曾如下定义一个字符串
string s=null;//string可以为null
请问null是个什么东东?是个值?是个引用?
作者: 殇_心。    时间: 2013-4-30 21:33
null是一个值。java中有3个值。 true  false null
可以给引用数据类型赋值。
作者: 刘赛    时间: 2013-4-30 21:59
额 我说的是C#中的null

作者: 清朗的晨风    时间: 2013-4-30 22:01
null表示没有指定对象。。。。。
string s1="";表示s1指向一个空的字符串,长度为0,但不是 null。
string s2=null;不错,是可以的。。。表示s2没有指向任何字符串。、
不可以为null:值类型。如 int ,decimal,DateTime等,,,可以为null:引用类型。如 自定义类,string,大部分类都是。
作者: 刘赛    时间: 2013-4-30 22:02
确实 string s=null;是可以的
作者: 刘赛    时间: 2013-4-30 22:04
null既不是值也不是引用而是一个指向 这样理解对吧?
作者: 闫常国    时间: 2013-4-30 22:08
string s=null,表明s指向的是一个空引用,没有开辟内存空间;而string s=""则表示,在内存中为s开辟了一块内存空间,只不过里面什么都没有,是空的。
作者: 陈晖    时间: 2013-4-30 22:15
""指的是空字符串,存在的,等同于string.Empty,字符串指的就是0个或1个或多个字符。
当时null是不知道的意思,字符串未初始化就是null,string str;此时str就是null。
:)
作者: HM朱百青    时间: 2013-4-30 22:19
null就是不知道!   空表示的是没有!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2