Marshal C# struct into a byte[](将C#结构编组为一个字节[])
问题描述
有没有办法将用[StructLayout]
注释的C#结构序列化为托管字节数组,即预制或分配的byte[]
?
我可以看到先封送到非托管内存,然后再进行复制,但这很难看。
推荐答案
签出MemoryMarshal.Cast<TFrom, TTo>()
。它将允许您轻松地从字节/短/整型/长数组更改为结构和返回。
https://docs.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.memorymarshal?view=netcore-3.1
这篇关于将C#结构编组为一个字节[]的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!