如何从 Memory<byte> 读取结构?

struct是否可以从 a创建 aMemory<byte>而不复制到数组?或者更好的是,创建共享相同托管内存的astruct和 a ?Memory<byte>

从字节数组读取 C# 中的 C/C++ 数据结构非常接近,但不太适用。Memory<T>有一个Pin方法,但它返回 aMemoryHandle而不是 a GCHandle

XY:我正在Memory<byte>从套接字读取和写入,使用BinaryPrimitives从切片获得的跨度来获取和设置各个字段。将 the 表示Memory为 astruct会更好。


猛跑小猪
浏览 86回答 1
1回答

慕尼黑5688855

.Net Core / .Net Standard 2.1 支持MemoryMarshal.Cast<TFrom, TTo>将 a 重新解释Span<TFrom>为Span<TTo>. 您应该能够使用该Memory<T>.Span属性来获取 a Span,然后将其转换为您的struct.
打开App,查看更多内容
随时随地看视频慕课网APP