我有以下结构:
[StructLayout(LayoutKind.Sequential)]
struct Message
{
int Header;
int Data;
}
我想通过网络发送它,而不需要分配(使用SendAsync(ReadOnlyMemory<byte>)
)调用。
如何Memory<byte>
从给定的结构中获取?
我最终有Span<byte>
,然后卡住了。
var message = new Message {
Header = 1, Data = 3
};
var bytes = MemoryMarshal.AsBytes(
MemoryMarshal.CreateReadOnlySpan(ref message, 1)
);
有什么方法可以将结构直接放入流中而不进行任何分配?
我在netcoreapp2.1
。