songFeng4985 发表于 2012-11-27 16:53
前者系统会在栈中分配空间,系统会自动实现内存的分配和回收。
后者系统会在堆中分配空间,系统一般不会自 ...
你说的这个是c++中的概念吧。c#中的关键字没有delete的。具体可参见MSDN给出的表格http://msdn.microsoft.com/zh-cn/library/x53a06bb.aspx
在c#中分类型分为引用类型与值类型
而数组在c#中是引用类型的。引用类型在运行时,当您声明引用类型的变量时,该变量会一直包含值 null,直至您使用 new 运算符显式创建对象的实例,或者为该变量分配已经使用new 在其他位置创建的对象。然后系统会再托管堆上分配内存。
所以数组的各种初始化方法其实都是一样的。只不过.net帮我们隐去了一些东西而已吧。 |