簡體   English   中英

在C#中序列化對象並獲取字節流

[英]Serialize an object in C# and get byte stream

我有一個對象,一個Serializable類的實例。 我想知道如何將這個對象作為字節流?

我知道我可以使用BinaryFormatter然后使用Serialize方法,但是這個方法需要一個serializationStream來編寫序列化對象。 我希望能夠在特定位置的文件/流中編寫它,所以我想做類似的事情:

obj = new Something(); // obj is serializable 
byte[] serialized = obj.serialize(); [*]
file.write(position, serialized)

有什么方法可以做[*] ,取一個對象序列化的字節?

MemoryStream m = new MemoryStream();
var formatter = new BinaryFormatter();
formatter.Serialize(m, new MyClass() {Name="SO"});
byte[] buf = m.ToArray(); //or File.WriteAllBytes(filename, m.ToArray())


[Serializable]
public class MyClass
{
    public string Name;
}

暫無
暫無

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

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