冰楓論壇

 找回密碼
 立即註冊
搜索
查看: 812|回覆: 0
打印 上一主題 下一主題

[心得] [C#] 序列化

[複製鏈接]

810

主題

0

好友

851

積分

高級贊助會員

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

UID
390967
帖子
1570
主題
810
精華
0
積分
851
楓幣
10200
威望
392
存款
10100
贊助金額
1800
推廣
0
GP
2495
閱讀權限
150
在線時間
186 小時
註冊時間
2023-5-18
最後登入
2024-11-10

2023年紀念勳章 太陽勳章 神手勳章 高級客戶 VIP會員 私服達人 懶人勳章 幼兒勳章 音樂勳章 屁孩勳章 貢獻王 性別(女) 性別(男) 積分勳章 發帖達人 2023端午節紀念勳章 富豪勳章 富可敵國 2023中秋節紀念勳章 解說達人 論壇粉絲 2023聖誕節紀念勳章 2024年紀念勳章 2024端午節紀念勳章 2024中秋節紀念勳章

跳轉到指定樓層
1
發表於 2023-5-30 15:33:47 |只看該作者 |倒序瀏覽
序列化可以將記憶體中的物件(或物件圖)序列化為資料流程,並保存到磁片上進行持久化;還可以將資料流程反序列化為物件,實現物件的還原。

序列化和反序列化用於將一個物件保存到檔案,和從檔案讀取。

首先加入這兩命名空間
  1. using System.IO;
  2. using System.Runtime.Serialization.Formatters.Binary;
複製代碼
宣告一個要序列化的類別
  1. [Serializable()] // 想要序列化的類別必須加入此特性標記
  2. public class SerializedClass
  3. {
  4.     public int a;
  5.     public string b;
  6.     public SerializedClass(int a, string b)
  7.     {
  8.         this.a = a;
  9.         this.b = b;
  10.     }
  11. }
複製代碼
序列化方法 - 將物件以二進制檔案儲存
  1. public void Serialize()
  2. {
  3.     SerializedClass sc = new SerializedClass(1, "Item");
  4.     Stream fs = File.Create("SaveFile.txt");
  5.     BinaryFormatter bf = new BinaryFormatter();
  6.     bf.Serialize(fs, sc);
  7.     fs.Close();
  8. }
複製代碼
反序列化方法 - 從二進制檔案取回物件,這邊將取回物件做強制轉型
  1. public void DeSerialize()
  2. {
  3.     SerializedClass sc;
  4.     Stream fs = File.Create("SaveFile.txt");
  5.     BinaryFormatter bf = new BinaryFormatter();
  6.     sc = (SerializedClass)(bf.Deserialize(fs));
  7.     fs.Close();
  8. }
複製代碼
[發帖際遇]: whitefox 想學黑雄「含」市長「不用肉眼看人,改用P眼看人」,因而得痔瘡,花費 1 楓幣 治療 幸運榜 / 衰神榜
收藏收藏0 推0 噓0


把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分: 1彩票
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$
高級模式
B Color Image Link Quote Code Smilies |上傳

廣告刊登意見回饋關於我們管群招募本站規範DMCA隱私權政策

Copyright © 2011-2024 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|手機版|冰楓論壇

GMT+8, 2024-11-10 22:16

回頂部