最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#二進(jìn)制序列化實(shí)例分析

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

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

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)
    {
    }
    //二進(jìn)制序列化不同于 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ǎn)潔的字節(jié)流。
    //通過(guò)該格式化程序序列化的所有對(duì)象也可以通過(guò)該格式化程序進(jìn)行反序列化,這使該工具對(duì)于序列化將在 .NET Framework 上被反序列化的對(duì)象而言十分理想。
    //需要特別注意的是,在反序列化一個(gè)對(duì)象時(shí)不調(diào)用構(gòu)造函數(shù)。出于性能方面的原因?qū)Ψ葱蛄谢┘恿嗽摷s束。
    //但是,這違反了運(yùn)行庫(kù)與對(duì)象編寫(xiě)器之間的一些通常約定,開(kāi)發(fā)人員應(yīng)確保他們?cè)趯?duì)象標(biāo)記為可序列化時(shí)了解其后果。
    //如果可移植性是必需的,則轉(zhuǎn)為使用 SoapFormatter。
    //只需用 SoapFormatter 代替上面代碼中的 BinaryFormatter,
    //并且如前面一樣調(diào)用 Serialize 和 Deserialize。此格式化程序?yàn)樯厦媸褂玫氖纠梢韵螺敵觥?
  }
}

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • C#正則表達(dá)式分解和轉(zhuǎn)換IP地址實(shí)例(C#正則表達(dá)式大全 c#正則表達(dá)式語(yǔ)法)

    C#正則表達(dá)式分解和轉(zhuǎn)換IP地址實(shí)例(C#正則表達(dá)式大全 c#正則表達(dá)式語(yǔ)法)

    這是我發(fā)了不少時(shí)間整理的C#的正則表達(dá)式,新手朋友注意一定要手冊(cè)一下哦,這樣可以節(jié)省很多寫(xiě)代碼的時(shí)間。下面進(jìn)行了簡(jiǎn)單總結(jié)
    2013-12-12
  • C#調(diào)用Windows的API實(shí)現(xiàn)窗體動(dòng)畫(huà)

    C#調(diào)用Windows的API實(shí)現(xiàn)窗體動(dòng)畫(huà)

    在VF、VB、PB的應(yīng)用中,有些無(wú)法通過(guò)語(yǔ)言工具本身來(lái)完成的或者做得不理想的功能,我們會(huì)考慮通過(guò)Windows的API來(lái)完成。本文就來(lái)通過(guò)調(diào)用Windows的API實(shí)現(xiàn)窗體動(dòng)畫(huà),感興趣的可以嘗試一下
    2022-11-11
  • C#圖書(shū)管理系統(tǒng) 附源碼下載

    C#圖書(shū)管理系統(tǒng) 附源碼下載

    這篇文章主要為大家詳細(xì)介紹了C#圖書(shū)管理系統(tǒng),文章中附源碼下載,示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Unity游戲開(kāi)發(fā)中的設(shè)計(jì)模式之策略模式

    Unity游戲開(kāi)發(fā)中的設(shè)計(jì)模式之策略模式

    策略模式是Unity游戲開(kāi)發(fā)中常用的設(shè)計(jì)模式之一,用于封裝一系列算法或行為,并使這些算法或行為可以相互替換。通過(guò)策略模式,可以在運(yùn)行時(shí)動(dòng)態(tài)地選擇算法或行為,實(shí)現(xiàn)游戲中的多樣性和可擴(kuò)展性。常見(jiàn)的應(yīng)用包括AI行為、武器攻擊、移動(dòng)方式等
    2023-05-05
  • c#利用Grahics進(jìn)行圖片裁剪

    c#利用Grahics進(jìn)行圖片裁剪

    這兩天做了一個(gè)圖片對(duì)比工具,里面要處理兩張大的圖片,所以要對(duì)圖片先進(jìn)行裁剪,下面看看我的方法吧
    2013-12-12
  • 如何搭建新的WPF項(xiàng)目框架

    如何搭建新的WPF項(xiàng)目框架

    這篇文章主要介紹了如何搭建新的WPF項(xiàng)目框架,在項(xiàng)目開(kāi)發(fā)中比較常見(jiàn)的開(kāi)發(fā)模式就是MVVM模式,使用MVVM框架開(kāi)發(fā)好處:1、框架較輕,2、學(xué)習(xí)成本低、3、適用大多數(shù)中小型項(xiàng)目,4、相對(duì)于微軟的prism框架更容易上手,需要的朋友可以參考下
    2015-07-07
  • C#快速配置NLog日志的教程詳解

    C#快速配置NLog日志的教程詳解

    這篇文章主要為大家詳細(xì)介紹了C#快速配置NLog日志的教程相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解一下
    2024-02-02
  • DOTNETBAR制作圓角窗體和圓角控件代碼實(shí)例

    DOTNETBAR制作圓角窗體和圓角控件代碼實(shí)例

    這篇文章主要介紹了DOTNETBAR制作圓角窗體和圓角控件的方法,大家參考使用吧
    2013-11-11
  • c#下注冊(cè)表操作的一個(gè)小細(xì)節(jié)

    c#下注冊(cè)表操作的一個(gè)小細(xì)節(jié)

    c#下注冊(cè)表操作的一個(gè)小細(xì)節(jié)...
    2007-11-11
  • C#多線程之Thread中Thread.IsAlive屬性用法分析

    C#多線程之Thread中Thread.IsAlive屬性用法分析

    這篇文章主要介紹了C#多線程之Thread中Thread.IsAlive屬性用法,實(shí)例分析了C#判斷線程可用狀態(tài)的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04

最新評(píng)論

手机| 宁安市| 陇川县| 仙居县| 胶南市| 富源县| 丹巴县| 四会市| 宁乡县| 杭锦旗| 海兴县| 威信县| 惠安县| 巴彦县| 黄骅市| 兴文县| 泗水县| 贵阳市| 确山县| 同仁县| 罗田县| 寻甸| 那坡县| 阿鲁科尔沁旗| 富宁县| 赣榆县| 渝中区| 湖南省| 当涂县| 揭西县| 得荣县| 精河县| 乌审旗| 洪泽县| 商城县| 县级市| 桐梓县| 洛川县| 绥江县| 洛浦县| 招远市|