您好,登录后才能下订单哦!
本篇内容介绍了“如何使用fixed语句”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
fixed语句中的变量是只读变量,如果需要修改这个变量的值,请重新声明一个指针变量,再修改这个变量所对应的值,如果要在fixed语句中分配内存,它是不会受GC影响的,要使用stackalloc表达式(关于stackalloc表达式参考https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/operators/stackalloc
stackalloc表达式在堆栈上分配内存块。不能显式释放使用stackalloc分配的内存,堆栈中分配的内存块不受GC的影响,也不必通过fixed语句固定,stackalloc可以用于system.Span<T> ReadOnlySpan<T>或指针类型,对于指针类型,只能在unsafe上下文中使用,Span不需要,而且官方推荐用Span而不是指针类型。
unsafe
{
int length=3;
int* numbers = stackallock int[length];
for(var i=0;i<length;i++)
{
numbers[i]=i;
}
}
“如何使用fixed语句”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。