C# 和 .NET : How to serialize a structure into a byte[] array, 使用 BinaryWriter?

标签 c# serialization binarywriter

<分区>

如何使用 BinaryWriter 将相当复杂的结构序列化为 byte[] 数组?

更新:

  • 为此,每个结构(和子结构?)都必须用 [Serializable] 属性修饰。

  • 我不需要实现 ISerializable 接口(interface),因为它旨在让对象控制自己的序列化。

最佳答案

使用 BinaryFormatter将对象序列化为 byte[]。 BinaryWriter仅用于将字节写入流。

MyObject obj = new MyObject();
byte[] bytes;
IFormatter formatter = new BinaryFormatter();
using (MemoryStream stream = new MemoryStream())
{
   formatter.Serialize(stream, obj);
   bytes = stream.ToArray();
}

关于C# 和 .NET : How to serialize a structure into a byte[] array, 使用 BinaryWriter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7442164/

相关文章:

c# - 从 C# 到 C++ 的加密/解密

c# - Entity Framework FirstOrDefault 用构造函数值覆盖?

c# - 只通过存储过程查询数据库是不是一种好方法?

c# - 如何获取计算机中所有打印机的列表

ruby - 如何在 Ruby 中编码 lambda (Proc)?

c# - binarywriter.flush() 是否也刷新底层文件流对象?

Java ObjectInputStream 从不同应用程序读取

python - 使用 python 序列化语料库

javascript - 如何从 System.Web.HttpContext.Current.Response.BinaryWrite(byteArray); 下载文件来自 javascript 而不是 C#

c# - 如何使用 BinaryWriter 编写列表?