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

No *_*o U 3 c# struct

是否有可能创建一个structMemory<byte>没有复制到一个数组中?或者更好的是,创建structMemory<byte>共享相同的管理内存?

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

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

Net*_*age 5

.Net Core / .Net Standard 2.1支持MemoryMarshal.Cast<TFrom, TTo>Span<TFrom>转换为Span<TTo>。您应该能够使用该Memory<T>.Span属性获取Span,然后将其转换为struct