gpt4 book ai didi

c# - 创建只读 ref 结构的集合

转载 作者:行者123 更新时间:2023-12-04 08:56:44 25 4
gpt4 key购买 nike

无法创建 readonly ref struct 的数组在 C# 中是这样的:

public readonly ref struct SomeStruct {}
SomeStruct[] array = new SomeStruct[4];
这会引发编译错误。
如何存储 readonly ref struct 的集合?

最佳答案

我认为这就是你所追求的:

    struct SomeStruct
{
int Data;
}

static void Main(string[] _)
{
Span<SomeStruct> buffer = stackalloc SomeStruct[5];

ref var someData = ref buffer[1];
}
我会告诫您需要进行概要分析并确保您确实需要做这样的事情。
正如其他人所说,您不会将“引用结构”放入集合中,而是将常规结构放入集合中并为它们获取“引用”,因此您不必复制数据。然后您控制分配它们的位置。如果不会引起问题,则在堆栈上,或者您可以使用内存池。

关于c# - 创建只读 ref 结构的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63781029/

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