C#中物件的序列化與反序列化
C#中物件的序列化與反序列化,是一項很常用的技術,對於物件的儲存,傳輸等十分有用。
這裡有兩個很實用的序列化與反序列化的方法,是我從網友裡的得到的,介紹給大家。
以下是要用到兩個方法:
///
/// 序列化為二進位制位元組陣列
///
/// 要序列化的物件
/// 位元組陣列
public byte[] SerializeBinary(object request)
{
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter serializer = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
System.IO.MemoryStream memStream = new System.IO.MemoryStream();
serializer.Serialize(memStream, request);
return memStream.GetBuffer();
}
///
/// 從二進位制陣列反序列化得到物件
///
/// 位元組陣列
/// 得到的物件
public object DeserializeBinary(byte[] buf)
{
System.IO.MemoryStream memStream = new MemoryStream(buf);
memStream.Position = 0;
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter deserializer =
new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
object newobj = deserializer.Deserialize(memStream);
memStream.Close();
return newobj;
}
呼叫的時候,以字型物件為例:
序列化:
byte[] FontByte = SerializeBinary(new Font("宋體", 8));
反序列化:
Font FontItem = (Font)DeserializeBinary(FontByte);
相關文章
- C#中的物件序列化C#物件
- C# 實現複雜物件的序列化與反序列化C#物件
- c#序列化與反序列化概述C#
- 在C#中實現Json的序列化與反序列化C#JSON
- C#中實現JSON功能及物件的序列化和反序列化C#JSON物件
- C# 序列化與反序列化jsonC#JSON
- 物件序列化(序列化)物件
- Java中的序列化與反序列化Java
- Java物件的序列化與反序列化-Json篇Java物件JSON
- Python中物件序列化和反序列化Python物件
- C# Json 序列化與反序列化一C#JSON
- C# Json 序列化與反序列化二C#JSON
- php中序列化與反序列化PHP
- Java物件流與序列化Java物件
- 序列化物件(.NET中) (轉)物件
- C# 實體類序列化與反序列化一 (XmlSerializer)C#XML
- Flutter中JSON序列化與反序列化FlutterJSON
- .NET物件的XML序列化和反序列化物件XML
- 物件(List<T>)的序列化和反序列化物件
- jackson對Exception型別物件的序列化與反序列化Exception型別物件
- JSON 物件序列化、反序列化JSON物件
- 物件的序列化(Serialization)物件
- c#序列化C#
- C# - XML讀寫與序列化C#XML
- Java的序列化與反序列化Java
- Java物件的序列化和反序列化實踐Java物件
- ArcObjects SDK開發 025 AO中物件的序列化和反序列化Object物件
- 序列化與反序列化
- JavaScript 物件序列化JavaScript物件
- java物件序列化Java物件
- C# 實體類序列化與反序列化二 (DataContractSerializer)C#
- C#序列化和反序列化(json)C#JSON
- java 物件序列化要序列化那些內容Java物件
- 序列化與反序列化(GO)Go
- C# 序列化(總)C#
- C# 中使物件序列化/反序列化 Json 支援使用派生型別以及泛型的方式C#物件JSON型別泛型
- 理解Java物件序列化Java物件
- .net中物件序列化技術淺談物件