概念
序列化
通過使用不同的類(BinaryFormatter,SoapFormatter,XmlSerializer)將對象狀態轉換為可保持或傳輸的格式的過程,具體是將對象轉變為字節流,其目的是為了保存數據的狀態,方便后續還原調用。包括三種序列化形式:二進制序列化,SOAP序列化,XML序列化。于此過程相反,將序列化文件轉換為對象的過程稱為反序列化。
區別
- 二進制和SOAP格式可序列化所有可序列化字段,包括公共字段和私有字段。XML格式則可以序列化公共字段或擁有公共屬性的私有字段。
- SoapFormatter 和 BinaryFormatter支持遠程過程調用,可對圖形進行序列化。
作用
1、在程序啟動時讀取上次序列化的信息,常用于存儲和 socket 傳輸。
2、在不同的進程之間傳遞數據,比如可以在Web 間傳遞數據,跨域傳遞,ASP .NET 后臺代碼往前端傳遞數據。
二進制序列化
先借用一個demo:
using System.Collections;
using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Serialization;namespace 序列化
{[Serializable]public class SerializeObject{public int ID{get;set;}