冰楓論壇
標題:
[C#] 序列化
[打印本頁]
作者:
whitefox
時間:
2023-5-30 15:33
標題:
[C#] 序列化
序列化可以將記憶體中的物件(或物件圖)序列化為資料流程,並保存到磁片上進行持久化;還可以將資料流程反序列化為物件,實現物件的還原。
序列化和反序列化用於將一個物件保存到檔案,和從檔案讀取。
首先加入這兩命名空間
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
複製代碼
宣告一個要序列化的類別
[Serializable()] // 想要序列化的類別必須加入此特性標記
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();
}
複製代碼
歡迎光臨 冰楓論壇 (https://bingfong.com/)
Powered by 冰楓