转换结构,以在.NET字节数组(Convert structure to byte array in

2019-09-24 03:32发布

我希望写由使用My.Computer.FileSystem.WriteAllBytes等固定长度字符串到一个文件的结构。

我使用与我已经转换到VB.Net固定长度的字符串VB6的项目。

    Structure Record
        <VBFixedString(22),System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValArray,SizeConst:=22)> Public tim() As Char
        <VBFixedString(130),System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValArray,SizeConst:=130)> Public des() As Char
        <VBFixedString(2),System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValArray,SizeConst:=2)> Public crlf() As Char
    End Structure

还是新的C#编组,但我将如何得到这个结构的字节数组写入文件。 有一些编组伎俩还是我将不得不编写自定义的方法?

Answer 1:

使用由.NET框架提供的序列化机制:

Dim formatter As New BinaryFormatter
formatter.Serialize(outputFileStream, objectInstance)

您应该添加<Serializable()>属性的类型。



文章来源: Convert structure to byte array in .NET