比如c下面我可以这样写
void my_function()
{
char stack[64]; // 一个char类型数组变量stack,共64个字节
//...直接使用这个stack
}而c#下面数组都是引用类型
一般用法是
char[] stack = new char[64];
我没看过IL代码,所以我假想空间都开在了堆上有没有直接开在当前函数栈上的实现办法?或者我哪里想错了请纠正
void my_function()
{
char stack[64]; // 一个char类型数组变量stack,共64个字节
//...直接使用这个stack
}而c#下面数组都是引用类型
一般用法是
char[] stack = new char[64];
我没看过IL代码,所以我假想空间都开在了堆上有没有直接开在当前函数栈上的实现办法?或者我哪里想错了请纠正
C/C++的那套做法你还用的话,就是在编程的里程上倒退。
怕回收就声明为静态,静态对象永不回收,除非你自己主动去更改对象引用为null