【发布时间】:2019-01-20 13:47:53
【问题描述】:
我想交错几个内存/跨度缓冲区。是否可以在不重复访问内部循环中的 Span 属性的情况下做到这一点?
public static void Interleave(StreamWriter s, ReadOnlyMemory<float>[] data)
{
for (int i = 0; i < data.First().Length; i++)
{
for (int j = 0; j < data.Length; j++)
{
s.Write(data[j].Span[i]);
}
}
}
【问题讨论】:
-
不完全确定您要实现的目标,但访问
Span属性是使用 ReadOnlyMemory 缓冲区的方法(它的存在是因为它的对应物 ReadOnlySpan 只能存在于堆栈上,@ 987654321@)