fixed关键字

fixed关键字:

由于C#中声明的变量在内存中的存储受垃圾回收器管理;因此一个变量(例如一个大数组)有可能在运行过程中被移动到内存中的其他位置,如果一个变量的内存地址会变化,那么指针也就没有意义了。

在unsafe 不安全环境中,我们可以通过stackkalloc在堆栈上分配内存,因为在堆栈上分配的内存不受内存管理器管理,因此其相应的指针不需要固定。

static unsafe void Main(string[] args)
{
    int *ptr=stacklloc int[1];
}





猜你喜欢

转载自blog.csdn.net/sggggr/article/details/79662368
今日推荐