当前位置:编程学习 > C#/ASP.NET >>

关于null与声明变量未赋值

如题 string a=null  表示没有为a这个变量分配内存空间吗?

string b  b未赋值 那它又是一个什么样的状态呢? --------------------编程问答-------------------- string a = null;

string a;
是一样的。

指向一个空引用 --------------------编程问答-------------------- string a;

if (a==null)

{}

上面这段话不行,会提示a未赋值。

string a和string a=null会一样? --------------------编程问答-------------------- 提示a未赋值。是编译器检查。
要分清楚运行期间和编译期间。 --------------------编程问答-------------------- 小弟菜。。能通俗的说下运行期间和编译期间是怎么回事吗,麻烦了 --------------------编程问答-------------------- string a=null 给a分配了空间,空间里的内容是空的;
string a 给a分配空间,空间里的内容是随机的,有内容,a的值是随机的,编译系统为了避免出错,所以给出警告提示。
你可以用F10分步执行,看a的值。 --------------------编程问答-------------------- f10分步执行是怎么操作的 --------------------编程问答-------------------- 在程序就绪的状态下按F10编译,按一下F10就执行一步,执行到string a的时候把光标放到a上,就会显示它的值。 --------------------编程问答-------------------- string  str="",表示一个空串,被实列化了,占用了内存空间,   
string  str=null,表示一个空引用,并没有指向任何地方,没有占用了空间,   
string  str 或string.empty.因为C#里边你不初始化的话会有一个默认值。 --------------------编程问答--------------------
引用 6 楼 hxkk191516 的回复:
f10分步执行是怎么操作的

6L的意思是让你执行程序,在出错的地方设置断点看看这个值,也就是if (a==null)设置断点 --------------------编程问答--------------------  引用类型就是指针! --------------------编程问答--------------------   过来看下。 --------------------编程问答--------------------    是那样的吗?if (a==null)应改为:if(ReferenceEquals(a,null))

引用 2 楼 hxkk191516 的回复:
string a;

if (a==null)

{}

上面这段话不行,会提示a未赋值。

string a和string a=null会一样?
--------------------编程问答--------------------
引用楼主 hxkk191516 的回复:
如题 string a=null  表示没有为a这个变量分配内存空间吗?

string b  b未赋值 那它又是一个什么样的状态呢?

所谓状态,指的是运行到这里的状态
如果未通过编译,根本不可能运行,哪里来的什么状态?
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,