- UID
- 390967
- 帖子
- 1595
- 主題
- 822
- 精華
- 0
- 積分
- 854
- 楓幣
- 11017
- 威望
- 395
- 存款
- 10100
- 贊助金額
- 1800
- 推廣
- 0
- GP
- 2680
- 閱讀權限
- 150
- 在線時間
- 189 小時
- 註冊時間
- 2023-5-18
- 最後登入
- 2024-11-22
|
序列化可以將記憶體中的物件(或物件圖)序列化為資料流程,並保存到磁片上進行持久化;還可以將資料流程反序列化為物件,實現物件的還原。
序列化和反序列化用於將一個物件保存到檔案,和從檔案讀取。
首先加入這兩命名空間- 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();
- }
複製代碼 |
[發帖際遇]: whitefox 想學黑雄「含」市長「不用肉眼看人,改用P眼看人」,因而得痔瘡,花費 1 楓幣 治療 |
幸運榜 / 衰神榜 |
|