首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

2012-01-26 
C#类中先申明后定义与直接定义的区别在C#类中,直接在类中new出实例,和先在类中申明变量,再在构造函数中new

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();
}
}

热点排行