gpt4 book ai didi

c# - C# 中是否可以使用基于堆栈的数组?

转载 作者:太空狗 更新时间:2023-10-29 21:47:45 25 4
gpt4 key购买 nike

比方说,假设(阅读:我不认为我真的需要这个,但我很好奇这个想法突然出现在我的脑海中),有人想要在堆栈上本地预留内存数组,而不是在堆上.例如,像这样:

private void someFunction()
{
int[20] stackArray; //C style; I know the size and it's set in stone
}

我猜答案是否定的。我所能找到的只是基于堆的数组。如果有人需要这个,会有任何解决方法吗?有没有办法以“值类型”的方式预留一定数量的顺序内存?还是具有命名参数的结构是唯一的方式(就像 XNA 中的 Matrix struct 有 16 个命名参数 (M11-M44))?

最佳答案

你要的是stackalloc ;不幸的是,您只能在不安全的代码中使用它,这意味着它不会在有限权限的上下文中运行。

您还可以为每个元素类型创建一个结构,其中包含必要数量的变量,但是您需要为每个要使用的“数组”大小创建一个新类型

关于c# - C# 中是否可以使用基于堆栈的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2456071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com