<form id="j9b99"><th id="j9b99"></th></form>

    南京軟件定制開發

    南京傾心軟件歡迎您訪問本站

    13605185909

    新聞資訊

    NEWS CENTER
    欄目導航

    南京軟件開發之類的序列化與反序列化

    發布時間:Mar 01, 2021         已有 人瀏覽

    什么是序列化以及如何實現序列化?

    序列化是通過將對象轉換為字節流,從而存儲對象或將對象傳輸到內存,數據庫或文件的過程。主要用途是保存對象的狀態,包括對象的數據,以便能夠在需要是重建對象。反向過程稱為 反序列化。

     

    如上圖所示,對象 object 被序列化為 流,其中不僅包含數據、還包含對象類型的相關信息,如版本、區域性和程序集名稱。然后可以將此流中的內容存儲到數據庫、文件或內存中。

    序列化的用途:

    通過序列化,可以執行如下操作:通過 Web 服務將對象發送到遠程應用程序、在域之間傳遞對象、以 XML 字符串的形式傳遞對象通過防火墻、跨應用程序維護安全性或用戶專屬信息。

    讓對象可序列化:

    需要具有對象、包含已序列化對象的一個流,以及一個 Fromatter。

    System.Runtime.Serialization 包含序列化和反序列化對象所必須的類。

    將 SerializableAttribute 特性應用于某個類型,以表示此類型的實例可以被序列化,如果對沒有 SerializableAttribute 特性的類型進行序列化,則會引發異常。

    如果想讓類中的某個字段不可序列化,可以使用 NonSerializedAttribute 特性。

    序列化的三種類型--二進制、XML、JSON

    可以使用二進制 binary 或 XML 進行序列化,在 二進制序列化中,所有內容都會被序列化,且性能也很好,使用二進制編碼來生成精簡的序列化,可以用于基于存儲或socket的網絡流。

    XML 序列化可提高可讀性,以及對象共享和使用的靈活性,XML 序列化將對象的公共字段和屬性或方法的參數和返回值序列化成符合特定 XML 格式的流,

    System.Xml.Serialization 包含序列化和反序列化 XML 所需要的類

    保存成二進制數據流.用法示例:


    序列化:

    反序列化:

    Copyright © 2020-2022 南京傾心軟件技術有限公司 版權所有     蘇ICP備2020070309號-1
    QQ在線咨詢
    13605185909
    返回頂部
    √天堂中文官网在线