亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#二進制序列化實例分析

 更新時間:2015年05月19日 15:22:42   作者:張林春  
這篇文章主要介紹了C#二進制序列化,實例分析了C#二進制序列化的方法,代碼中有較為詳盡的注釋說明,便于理解,需要的朋友可以參考下

本文實例講述了C#二進制序列化的方法。分享給大家供大家參考。具體如下:

using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Serialization;
namespace WebApplication1.Serialize
{
  public partial class Binary1 : System.Web.UI.Page
  {
    protected void Page_Load(object sender, EventArgs e)
    {
    }
    //二進制序列化不同于 XMLSerializer 類,后者只序列化公共字段。
    protected void Button1_Click(object sender, EventArgs e)
    {
      MyObject obj = new MyObject();
      obj.n1 = 1;
      obj.n2 = 24;
      obj.str = "Some String";
      IFormatter formatter = new BinaryFormatter();
      Stream stream = new FileStream("C:/MyFile.bin", FileMode.Create, FileAccess.Write, FileShare.None);
      formatter.Serialize(stream, obj);
      stream.Close();
    }
    [Serializable]
    public class MyObject
    {
      public int n1 = 0;
      public int n2 = 0;
      public String str = null;
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
      IFormatter formatter = new BinaryFormatter();
      Stream stream = new FileStream("C:/MyFile.bin", FileMode.Open, FileAccess.Read, FileShare.Read);
      MyObject obj = (MyObject)formatter.Deserialize(stream);
      stream.Close();
      // Here's the proof.
      Response.Write("n1: {0}"+ obj.n1+"<br/>");
      Response.Write("n2: {0}" + obj.n2 + "<br/>");
      Response.Write("str: {0}" + obj.str + "<br/>");
    }
    //上面所用的 BinaryFormatter 非常有效,生成了非常簡潔的字節(jié)流。
    //通過該格式化程序序列化的所有對象也可以通過該格式化程序進行反序列化,這使該工具對于序列化將在 .NET Framework 上被反序列化的對象而言十分理想。
    //需要特別注意的是,在反序列化一個對象時不調用構造函數。出于性能方面的原因對反序列化施加了該約束。
    //但是,這違反了運行庫與對象編寫器之間的一些通常約定,開發(fā)人員應確保他們在將對象標記為可序列化時了解其后果。
    //如果可移植性是必需的,則轉為使用 SoapFormatter。
    //只需用 SoapFormatter 代替上面代碼中的 BinaryFormatter,
    //并且如前面一樣調用 Serialize 和 Deserialize。此格式化程序為上面使用的示例生成以下輸出。
  }
}

希望本文所述對大家的C#程序設計有所幫助。

相關文章

  • Winform動態(tài)加載TabControl用法實例

    Winform動態(tài)加載TabControl用法實例

    這篇文章主要介紹了Winform動態(tài)加載TabControl用法,以實例形式詳細講述了Winform動態(tài)加載TabControl的方法,在C#應用程序開發(fā)中具有一定的實用價值,需要的朋友可以參考下
    2014-11-11
  • 深入理解C♯ 7.0中的Tuple特性

    深入理解C♯ 7.0中的Tuple特性

    這篇文章主要介紹了C#7中Tuple特性的相關資料,文中通過示例代碼介紹的非常詳細,相信對大家具有一定的參考價值,需要的朋友可以們下面來一起學習學習吧。
    2017-03-03
  • C#對Access進行增刪改查的完整示例

    C#對Access進行增刪改查的完整示例

    本文主要是講C#對Access數據庫的增刪改查操作,想學習C#和Access數據庫操作基礎的可以參考借鑒,以下代碼都經過實踐測試可用,下面跟著小編一起來看看。
    2016-08-08
  • Unity輸出帶點擊跳轉功能的Log實現技巧詳解

    Unity輸出帶點擊跳轉功能的Log實現技巧詳解

    這篇文章主要為大家介紹了Unity輸出帶點擊跳轉功能的Log實現技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • C#幾種獲取網頁源文件代碼的實例

    C#幾種獲取網頁源文件代碼的實例

    C#幾種獲取網頁源文件代碼的實例,需要的朋友可以參考一下
    2013-04-04
  • C#具名參數(Named Parameters)的使用

    C#具名參數(Named Parameters)的使用

    在C#中,具名參數是一種在方法調用中使用參數名稱來指定參數值的技術,本文主要介紹了C#具名參數的使用,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • C# Redis學習系列(二)Redis基本設置

    C# Redis學習系列(二)Redis基本設置

    這篇文章主要為大家分享了C# Redis學習系列教程第二篇, Redis基本設置,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • C#難點逐個擊破(6):C#數據類型與.net framework數據類型

    C#難點逐個擊破(6):C#數據類型與.net framework數據類型

    最近開始看Illustrator C#2008,這真是一本好書,我讀計算機書籍這么多了,能讓我稱為好書的沒有多少。
    2010-02-02
  • C#使用正則表達式過濾html標簽

    C#使用正則表達式過濾html標簽

    最近在開發(fā)一個項目,其中有需求要求我們把一段html轉換為一般文本返回,使用正則表達式是明智的選擇,下面小編給介紹下C#使用正則表達式過濾html標簽,需要的朋友參考下
    2016-08-08
  • c#中string的特性介紹及注意事項小結

    c#中string的特性介紹及注意事項小結

    這篇文章主要給大家介紹了關于c#中string的特性介紹及注意事項的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用c#具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-11-11

最新評論