读书人

C#类中先申明后定义与直接定义的区别解

发布时间: 2012-01-26 19:40:46 作者: rapoo

C#类中先申明后定义与直接定义的区别
在C#类中,直接在类中new出实例,和先在类中申明变量,再在构造函数中new出实例,这两者在内存分配上有什么区别?
高手指教!谢谢!

[解决办法]
D 学习...............
[解决办法]
没有区别
[解决办法]
前者:是声明对象并且同时分配内存空间,而后者是要到构造函数的时候才分配内存空间
[解决办法]
分配的地址可能不一样
C#不要去管内存分配 这是MS不希望看到的
[解决办法]
我记得是先声明不分配内存,引用时系统才分配内存;
直接定义则直接分配内存空间.
[解决办法]
应该是一样的,但最好都写在构造函数中,看的清楚。
[解决办法]
TO:在C#类中,直接在类中new出实例,和先在类中申明变量,再在构造函数中new出实例,这两者在内存分配上有什么区别?

for example:

public class Test
{
private ArrayList list=new ArrayList();
}
虽然在声明的时候已经new了,但是实际上是在创建对象Test对象实例时在构造函数中创建的ArrayList的实例...

即上面的等价于:

public class Test
{
private ArrayList list;
public Test()
{
list=new ArrayList();
}
}

读书人网 >C#

热点推荐