我有ObservableCollection<Employee>
如何将其转换为字节数组[]?
班级员工包括, - 员工ID - 加入的日期 - 年龄 - 薪水
我需要传递集合的服务是期望数据在byte []中 将observableCollection转换为byte []的有效方法是什么? 或者我只是需要遍历集合来创建一个字节数组?
答案 0 :(得分:1)
您可以使用二进制格式化程序来序列化您的收藏。
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....
}
答案 1 :(得分:0)
你有像Protobuf,Protobuf-Net,你自己的自定义BinaryWriter“ToBytes,FromBytes”这样的选择。这实际上取决于您的接收端需求,以及它们是使用通用文档格式还是自定义格式。