C# Serializable對象序列化的作用C# 序列化與還原序列化C# Serializable對象序列化的作用

來源:互聯網
上載者:User

 1、序列化定義:將對象轉換為容易傳輸的格式的過程。例如,可以序列化一個對象,然後使用 HTTP 通過 Internet 在用戶端和伺服器之間傳輸該對象。反之,還原序列化根據流重新構造對象。

在此過程中,先將對象的公用欄位和私人欄位以及類的名稱(包括類所在的程式集)轉換為位元組流,然後再把位元組流寫入資料流。在隨後對對象進行還原序列化時,將建立出與原對象完全相同的副本

2、使用序列化的原因:將對象的狀態儲存在儲存媒體中以便可以在以後重新建立出完全相同的副本;按值將對象從一個應用程式定義域發送至另一個應用程式定義域。例如,序列化可用於在 ASP.NET 中儲存工作階段狀態,以及將對象複製到 Windows 表單的剪貼簿中。它還可用於按值將對象從一個應用程式定義域遠程傳遞至另一個應用程式定義域。本文簡要介紹了 Microsoft .NET 中使用的序列化。

3、基本序列化

[Serializable]

public class MyObject {

    public int n1 = 0;       

    public int n2 = 0;         

    public String str = null;      

       }

 以下程式碼片段說明了如何將此類的一個執行個體序列化為一個檔案:

  MyObject obj = new MyObject();            

    obj.n1 = 1;          

      obj.n2 = 24;            

      obj.str = "一些字串";

     IFormatter formatter = new BinaryFormatter();            

    Stream stream = new FileStream("MyFile.bin", FileMode.Create, FileAccess.Write, FileShare.None);            

    formatter.Serialize(stream, obj);            

    stream.Close();

4、五.選擇性序列化    

 類通常包含不應被序列化的欄位。例如,假設某個類用一個成員變數來儲存線程 ID。當此類被還原序列化時,序列化此類時所儲存的 ID 對應的線程可能不再運行,所以對這個值進行序列化沒有意義。可以通過使用 NonSerialized 屬性標記成員變數來防止它們被序列化,如下所示:

 [Serializable]            

public class MyObject            

 {               

   public int n1;               

   [NonSerialized]

   public int n2;             

   public String str;      

 }

 

C# 序號與還原序列化總結

 1、 C# 序列化與還原序列化

 2、C# Serializable對象序列化的作用 (此文)

 參考:http://www.cnblogs.com/winner/archive/2008/03/25/1120757.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.