簡體   English   中英

如何將Collection轉換為字節數組

[英]How to convert a Collection to byte array

我有一個ObservableCollection<Employee>如何將其轉換為字節數組[]?

Employee類包括:-EmployeeId-DateOfJoining-年齡-工資

我需要將集合傳遞給的服務期望數據在byte []中。
將observableCollection轉換為byte []的有效方法是什么?
還是只需要遍歷集合以創建字節數組?

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

http://msdn.microsoft.com/zh-CN/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....

}

您可以選擇Protobuf,Protobuf-Net,自己的自定義BinaryWriter“ ToBytes,FromBytes”。 這實際上取決於接收端的需求,以及它們使用的是通用文檔格式還是定制格式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM