0

我有一个ObservableCollection<Employee>如何将其转换为字节数组 []?

Employee 类包括 - EmployeeId - DateOfJoining - Age - Salary

我需要将集合传递给的服务期望数据在字节 [] 中。
将 observableCollection 转换为 byte[] 的有效方法是什么?
还是我只需要遍历集合来创建一个字节数组?

4

2 回答 2

1

您可以使用二进制格式化程序来序列化您的集合。

http://msdn.microsoft.com/en-us/library/system.runtime.serialization.formatters.binary.binaryformatter.aspx

var employees = new ObservableCollection<Employee>();


using (var stream = new MemoryStream())
{    
    var formatter = new BinaryFormatter();
    formatter.Serialize(stream, employees);
    var byteArray = new byte[stream.Length];
    stream.Seek(0, SeekOrigin.Begin);
    stream.Read(byteArray, 0, (int)stream.Length);
    // do whatever you want with the bytes now....

}
于 2013-05-12T22:50:49.677 回答
0

您可以选择 Protobuf、Protobuf-Net、您自己的自定义 BinaryWriter “ToBytes、FromBytes”。这实际上取决于您的接收端想要什么,以及他们使用的是通用文档格式还是自定义格式。

于 2013-05-12T23:00:16.783 回答