A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘赛 中级黑马   /  2013-4-30 21:26  /  974 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘赛 于 2013-4-30 22:06 编辑

string s="";//这时这个字符串的长度为0,但这个字符串是存在的
而我如果想得到一个没有长度的字符串时我曾如下定义一个字符串
string s=null;//string可以为null
请问null是个什么东东?是个值?是个引用?

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

9 个回复

正序浏览
null就是不知道!   空表示的是没有!
回复 使用道具 举报
陈晖 中级黑马 2013-4-30 22:15:27
8#
""指的是空字符串,存在的,等同于string.Empty,字符串指的就是0个或1个或多个字符。
当时null是不知道的意思,字符串未初始化就是null,string str;此时str就是null。
:)
回复 使用道具 举报
string s=null,表明s指向的是一个空引用,没有开辟内存空间;而string s=""则表示,在内存中为s开辟了一块内存空间,只不过里面什么都没有,是空的。

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
null既不是值也不是引用而是一个指向 这样理解对吧?
回复 使用道具 举报
确实 string s=null;是可以的
回复 使用道具 举报
null表示没有指定对象。。。。。
string s1="";表示s1指向一个空的字符串,长度为0,但不是 null。
string s2=null;不错,是可以的。。。表示s2没有指向任何字符串。、
不可以为null:值类型。如 int ,decimal,DateTime等,,,可以为null:引用类型。如 自定义类,string,大部分类都是。

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
额 我说的是C#中的null
回复 使用道具 举报
null是一个值。java中有3个值。 true  false null
可以给引用数据类型赋值。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马