[C#] 序列化
序列化可以將記憶體中的物件(或物件圖)序列化為資料流程,並保存到磁片上進行持久化;還可以將資料流程反序列化為物件,實現物件的還原。序列化和反序列化用於將一個物件保存到檔案,和從檔案讀取。
首先加入這兩命名空間using System.IO;
using System.Runtime.Serialization.Formatters.Binary;宣告一個要序列化的類別 // 想要序列化的類別必須加入此特性標記
public class SerializedClass
{
public int a;
public string b;
public SerializedClass(int a, string b)
{
this.a = a;
this.b = b;
}
}序列化方法 - 將物件以二進制檔案儲存public void Serialize()
{
SerializedClass sc = new SerializedClass(1, "Item");
Stream fs = File.Create("SaveFile.txt");
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs, sc);
fs.Close();
}反序列化方法 - 從二進制檔案取回物件,這邊將取回物件做強制轉型public void DeSerialize()
{
SerializedClass sc;
Stream fs = File.Create("SaveFile.txt");
BinaryFormatter bf = new BinaryFormatter();
sc = (SerializedClass)(bf.Deserialize(fs));
fs.Close();
}
頁:
[1]