簡體   English   中英

C#將字節數組轉換為通用列表

[英]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.

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