[英]C# Convert Byte Array to Generic List
我有一個自定義列表,我想將其作為資源嵌入,因此可以在每次新安裝時復制它。 但是,我的列表被序列化為二進制文件,當我將其作為資源添加時,我不能將其復制出來,因為C#將其視為字節數組。 當我從資源中提取文件時,我需要能夠將此字節數組轉換回我的自定義列表。 有人能告訴我如何完成這種轉換嗎?
謝謝!
你用什么方式序列化它? 通常你會反轉這個過程。 例如:
BinaryFormatter bf = new BinaryFormatter();
using(Stream ms = new MemoryStream(bytes)) {
List<Foo> myList = (List<Foo>)bf.Deserialize(ms);
}
顯然,如果你使用了不同的序列化器,你可能需要調整它! 或者,如果您可以將數據作為Stream
(而不是byte[]
)獲取,則可能會丟失MemoryStream
步驟...
列表是如何序列化的? 您應該有權訪問等效的Deserialize()
方法,其結果可以轉換回原始列表類型。
您需要將字節數組反序列化回列表的實例。 執行此操作的方法取決於您序列化它的機制。 例如,如果使用BinaryFormatter
進行序列化,請使用相同的方法進行反序列化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.