国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

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

2020-01-24 01:50:01
字體:
來源:轉載
供稿:網友

本文實例講述了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 非常有效,生成了非常簡潔的字節流。    //通過該格式化程序序列化的所有對象也可以通過該格式化程序進行反序列化,這使該工具對于序列化將在 .NET Framework 上被反序列化的對象而言十分理想。    //需要特別注意的是,在反序列化一個對象時不調用構造函數。出于性能方面的原因對反序列化施加了該約束。    //但是,這違反了運行庫與對象編寫器之間的一些通常約定,開發人員應確保他們在將對象標記為可序列化時了解其后果。    //如果可移植性是必需的,則轉為使用 SoapFormatter。    //只需用 SoapFormatter 代替上面代碼中的 BinaryFormatter,    //并且如前面一樣調用 Serialize 和 Deserialize。此格式化程序為上面使用的示例生成以下輸出。  }}

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安顺市| 桐城市| 镇康县| 博罗县| 东光县| 永州市| 库尔勒市| 清徐县| 信阳市| 红安县| 都昌县| 来安县| 高雄县| 澄迈县| 拜城县| 桃江县| 西充县| 九寨沟县| 垦利县| 纳雍县| 加查县| 龙陵县| 隆昌县| 江津市| 阳朔县| 玉山县| 福海县| 民乐县| 无棣县| 大兴区| 博爱县| 红桥区| 图片| 芷江| 临泽县| 荆州市| 吉安市| 陇西县| 绥中县| 连州市| 诏安县|