c# - 什么时候需要在 C# 中使用 stackalloc 关键字?

标签 c# keyword stackalloc

stackalloc 关键字提供什么功能?我何时以及为什么要使用它?

最佳答案

来自 MSDN :

Used in an unsafe code context to allocate a block of memory on the stack.

C# 的主要特性之一是您通常不需要直接访问内存,就像在 C/C++ 中使用 mallocnew 那样。然而,如果你真的想显式分配一些内存,你可以,但 C# 认为这是“不安全的”,所以你只能在使用 unsafe 设置编译时这样做。 stackalloc 允许您分配此类内存。

您几乎肯定不需要使用它来编写托管代码。在某些情况下,如果您直接访问内存,您可以编写更快的代码是可行的 - 它基本上允许您使用适合某些问题的指针操作。除非您遇到特定问题并且不安全代码是唯一的解决方案,否则您可能永远不需要它。

关于c# - 什么时候需要在 C# 中使用 stackalloc 关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/721277/

相关文章:

c# - Visual Studio 2013 编辑 Razor 文件速度慢

c# - 语句 block 中的变量范围

sorting - 更改下拉列表中关键字的默认顺序

c# - 这个不安全的代码是否也可以在 .NET Core 3 中工作?

c# - Protobuf-net:无法创建抽象类的实例

c# - 在不锁定资源的情况下使用 BitMap 对象

java - java中哪个类定义了关键字?

python - 关键字或语句与函数调用之间有什么区别?

c# - 为什么 stackalloc 接受可变长度?

奇怪的堆栈上的 c++ 分配