我有一个ObservableCollection<Employee>
如何将其转换为字节数组 []?
Employee 类包括 - EmployeeId - DateOfJoining - Age - Salary
我需要将集合传递给的服务期望数据在字节 [] 中。
将 observableCollection 转换为 byte[] 的有效方法是什么?
还是我只需要遍历集合来创建一个字节数组?
您可以使用二进制格式化程序来序列化您的集合。
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....
}
您可以选择 Protobuf、Protobuf-Net、您自己的自定义 BinaryWriter “ToBytes、FromBytes”。这实际上取决于您的接收端想要什么,以及他们使用的是通用文档格式还是自定义格式。