日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
解析C#BinaryFormatter實(shí)現(xiàn)序列化

C# BinaryFormatter實(shí)現(xiàn)序列化,我們知道在.NET框架里提供了C# BinaryFormatter,那么他是如何實(shí)現(xiàn)序列化操作的呢,首先我們來(lái)看看C# BinaryFormatter的概念以及作用。

專注于為中小企業(yè)提供網(wǎng)站建設(shè)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)康平免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

C# BinaryFormatter的介紹:

BinaryFormatter使用二進(jìn)制格式化程序進(jìn)行序列化。您只需創(chuàng)建一個(gè)要使用的流和格式化程序的實(shí)例,然后調(diào)用格式化程序的 Serialize 方法。流和要序列化的對(duì)象實(shí)例作為參數(shù)提供給此調(diào)用。類(lèi)中的所有成員變量(甚至標(biāo)記為 private 的變量)都將被序列化。

C# BinaryFormatter使用實(shí)例:

首先我們創(chuàng)建一個(gè)類(lèi):

 
 
 
  1. [Serializable]
  2. public class MyObject {
  3.  public int n1 = 0;
  4.  public int n2 = 0;
  5.  public String str = null;
  6. }

Serializable屬性用來(lái)明確表示該類(lèi)可以被序列化。同樣的,我們可以用NonSerializable屬性用來(lái)明確表示類(lèi)不能被序列化。接著我們創(chuàng)建一個(gè)該類(lèi)的實(shí)例,然后序列化,并存到文件里持久:

 
 
 
  1. MyObject obj = new MyObject();
  2. obj.n1 = 1;
  3. obj.n2 = 24;
  4. obj.str = "一些字符串";
 
 
 
  1. IFormatter formatter = new BinaryFormatter();
  2. Stream stream = new FileStream(
  3. "MyFile.bin", FileMode.Create, 
  4. FileAccess.Write, FileShare.None);
  5. formatter.Serialize(stream, obj);
  6. stream.Close();

而將對(duì)象還原到它以前的狀態(tài)也非常容易。首先,創(chuàng)建格式化程序和流以進(jìn)行讀取,然后讓格式化程序?qū)?duì)象進(jìn)行反序列化。

 
 
 
  1. IFormatter formatter = new BinaryFormatter();
  2. Stream stream = new FileStream(
  3. "MyFile.bin", FileMode.Open, 
  4. FileAccess.Read, FileShare.Read);
  5. MyObject obj =
  6.  (MyObject) formatter.Deserialize(fromStream);
  7. stream.Close();
  8. // 下面是證明
  9. Console.WriteLine("n1: {0}", obj.n1);
  10. Console.WriteLine("n2: {0}", obj.n2);
  11. Console.WriteLine("str: {0}", obj.str);

C# BinaryFormatter實(shí)現(xiàn)序列化的詳細(xì)內(nèi)容就向你介紹到這里,希望對(duì)你了解和學(xué)習(xí)C# BinaryFormatter類(lèi)有所幫助。


名稱欄目:解析C#BinaryFormatter實(shí)現(xiàn)序列化
網(wǎng)站鏈接:http://m.5511xx.com/article/cdhiscs.html