C#的数组一定是声明在堆上面吗? 哪怕用初始化列表构造的也是?
int ai[]=new int{1,2,3}这个ai是在堆上面存在的,是吧。
然后如果是不用new直接int bi[]={1,2,3}也能编译运行。请问这个bi是存在于当前的调用栈上面(值类型)还是仍然被编译成了new的形式存在于堆上,是一个有引用计数的对象?
[解决办法]
.net 的数组其实是Aarry的子类
[解决办法]
查msdn 关于 Array
用reflect
一下子就清楚了
[解决办法]
int[] bi ={1,2,3};
if (bi is Array)
{
string typename = bi.ToString();
}