自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

談?wù)勑蛄谢?,關(guān)于.net中的二進制序列化和xml序列化

開發(fā) 后端
序列化是將對象狀態(tài)轉(zhuǎn)換為可保持或傳輸?shù)母袷降倪^程。與序列化相對的是反序列化,它將流轉(zhuǎn)換為對象。這兩個過程結(jié)合起來,可以輕松地存儲和傳輸數(shù)據(jù)。本文主要介紹.NET中的二進制序列化和XML序列化。

序列化技術(shù),就是將對象持久存儲。 可以這樣理解:序列化就是將對象占用的內(nèi)存的數(shù)據(jù)copy到持久存儲設(shè)備,比如硬盤。序列化有什么用呢?

兩點作用:

1、持久的存儲對象狀態(tài);

2、分布式運算中傳遞數(shù)據(jù)的底層實現(xiàn)。

.Net框架封裝的序列化技術(shù)包含兩種,即 二進制序列化 和 xml序列化

(以下代碼都要求被序列化的對象的類型使用Serializable特征類)

二進制序列化的實現(xiàn) (using System.Runtime.Serialization.Formatters.Binary;)

序列化代碼:

  1. //打開文件流  
  2. FileStream fs = new FileStream(保存序列化數(shù)據(jù)的文件路徑, FileMode.OpenOrCreate);  
  3. //創(chuàng)建二進制序列化對象  
  4. BinaryFormatter bf = new BinaryFormatter();  
  5. //調(diào)用二進制序列化對象的序列化方法執(zhí)行序列化操作  
  6. bf.Serialize(fs, 被序列化的對象);  
  7. //關(guān)閉文件流  
  8. fs.Close(); 

反序列化代碼:

  1. //打開文件流  
  2. FileStream fs = new FileStream(保存序列化數(shù)據(jù)的文件路徑, FileMode.OpenOrCreate);  
  3. //創(chuàng)建二進制序列化對象  
  4. BinaryFormatter bf = new BinaryFormatter();  
  5. //調(diào)用二進制序列化對象的反序列化方法執(zhí)行反序列化操作  
  6. 從文件中反序列化得到的對象 = bf.Deserialize(fs) as 被序列化對象的類型;  
  7. //關(guān)閉文件流  
  8. fs.Close(); 

XML序列化的實現(xiàn)(using System.Xml.Serialization;)

序列化代碼:

  1. //打開文件流  
  2. FileStream fs = new FileStream(保存序列化數(shù)據(jù)的文件路徑, FileMode.OpenOrCreate);  
  3. //創(chuàng)建XML序列化對象  
  4. XmlSerializer xs = new XmlSerializer(typeof(被序列化對象的類型));  
  5. //調(diào)用XML序列化對象的序列化方法執(zhí)行序列化操作  
  6. xs.Serialize(fs, 被序列化的對象);  
  7. //關(guān)閉文件流  
  8. fs.Close(); 

反序列化代碼:

  1. //打開文件流  
  2. FileStream fs = new FileStream(保存序列化數(shù)據(jù)的文件路徑, FileMode.OpenOrCreate);  
  3. //創(chuàng)建XML序列化對象  
  4. XmlSerializer xs = new XmlSerializer(typeof(被序列化對象的類型));  
  5. //調(diào)用XML序列化對象的反序列化方法執(zhí)行反序列化操作  
  6. 從文件中反序列化得到的對象 = xs.Deserialize(fs) as 被序列化對象的類型;  
  7. //關(guān)閉文件流  
  8. fs.Close(); 

當(dāng)然這里所提供的是序列化和反序列化的默認(rèn)實現(xiàn),能應(yīng)付大多數(shù)運用。 特殊情況可以還需要重寫序列化的默認(rèn)實現(xiàn)。MSDN里面也有較詳細的示例代碼。

【編輯推薦】

  1. .NET入門教程 學(xué)習(xí).NET的幾個基本步驟
  2. 使用ASP.NET操作IIS7中使用應(yīng)用程序
  3. 解析.NET中容易混淆的委托與接口
  4. VB.NET和ASP.NET編碼規(guī)范
  5. 回顧.NET Remoting分布式開發(fā)
責(zé)任編輯:于鐵 來源: 17fx.Net
相關(guān)推薦

2011-05-18 15:20:13

XML

2009-09-09 14:45:41

XML序列化和反序列化

2009-09-09 15:47:27

XML序列化和反序列化

2011-06-01 15:05:02

序列化反序列化

2022-08-06 08:41:18

序列化反序列化Hessian

2009-08-24 17:14:08

C#序列化

2009-09-09 16:10:11

.NET序列化和反序列

2009-08-06 11:16:25

C#序列化和反序列化

2023-12-13 13:49:52

Python序列化模塊

2012-04-13 10:45:59

XML

2009-07-29 13:39:02

JSON序列化和反序列ASP.NET AJA

2009-06-14 22:01:27

Java對象序列化反序列化

2018-03-19 10:20:23

Java序列化反序列化

2011-04-02 13:47:01

2019-11-20 10:07:23

web安全PHP序列化反序列化

2009-08-25 14:24:36

C#序列化和反序列化

2021-11-18 07:39:41

Json 序列化Vue

2009-08-25 14:43:26

C#序列化和反序列化

2013-03-11 13:55:03

JavaJSON

2010-03-19 15:54:21

Java Socket
點贊
收藏

51CTO技術(shù)棧公眾號