string str="null"

勿腻阳 2009-04-24 10:49:04
对于以下三种情况都以了解
string str = " "; 分配了空间 且有了具体的值,为 " "这个字符串
string str = null; 分配了空间 没值
string str; 空间都没有

但是对于string str="null"的情况来说又是怎么回事呢?是表示虽然分配了内存空间但是指向为空吗?知道这题似乎有点转牛角尖,但还是请各位帮忙解答,最好能举例说明一下,唯有送分表示感谢!
...全文
167 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
edivista 2009-04-24
  • 打赏
  • 举报
回复

namespace test2
{
class Program
{
static void Main(string[] args)
{
string str = null;
string str1 = "null";
string str3;
Console.WriteLine("{0},{1},{2}", str, str1,str3="3");
Console.ReadLine();
}
}
}

结果:
,null,3

string str1 = "null";中"null"只是作为字符串值
string str3;只是声明str3变量,未使用,所以没有分配空间
真罗剑 2009-04-24
  • 打赏
  • 举报
回复
还有一个问题
如果你这个str 是类成员变量的时候 和 某个方法局部变量的时候
效果也不一样吧

如果是类成员变量 其实在类初始化时 是分配了值的吧
勿腻阳 2009-04-24
  • 打赏
  • 举报
回复
恩,各位说的都很有道理,建议与批评都虚心接受,思维现在有些定式。谢谢各位的解释了。
llsen 2009-04-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ericzhangbo1982111 的回复:]
string str="null"

当然分配空间
他的value就是字符串null

字符串null 和关键字null 是不一样的。。
[/Quote]

这样只是一个字符串“null”,不是关键字Null.
junyi2003 2009-04-24
  • 打赏
  • 举报
回复
null是一个C# 关键字, "null"是一个字符串。如果这个都搞不清楚,或者搞文字游戏就太没意思了
xutao888 2009-04-24
  • 打赏
  • 举报
回复
呵呵,LZ看书看懵了
zgke 2009-04-24
  • 打赏
  • 举报
回复
null != "null" "null"值 null空 不一样啊
yanlongwuhui 2009-04-24
  • 打赏
  • 举报
回复
同第一种情况,只是值不同
vrhero 2009-04-24
  • 打赏
  • 举报
回复
null和"null"能一样吗?自己好好想想...
xiaoyasheng 2009-04-24
  • 打赏
  • 举报
回复
string str="null"就表示分配了空间,他的值是null啊
y9313 2009-04-24
  • 打赏
  • 举报
回复
为null的值
ericzhangbo1982111 2009-04-24
  • 打赏
  • 举报
回复
string str="null"

当然分配空间
他的value就是字符串null

字符串null 和关键字null 是不一样的。。

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧