1. 程式人生 > >C#學習筆記(6)-序列化與反序列化

C#學習筆記(6)-序列化與反序列化

序列化

就是將物件轉換為二進位制

反序列化

就是將二進位制轉換為物件

作用

傳輸資料。資料在網路中是以二進位制形式傳輸的。
序列化的類不能被繼承

關鍵字

  • [Serializable]:定義一個類可被序列化
 [Serializable]

    public class Person
    {
        private string _name;
        private int _age;
        private char _gender;

        public string Name
        {
            get
{ return _name; } set { _name = value; } } public int Age { get { return _age; } set { _age = value; } } public char Gender { get { return _gender; } set { _gender = value; } } public
void SayHello() { Console.WriteLine("我是人類"); } }
  • 序列化一個類:Serialize
Person p = new _05序列化與反序列化.Person();
p.Name = "張三";
p.Age = 18;
p.Gender = '男';
using (FileStream fsWrite = new FileStream(@"C:\Users\lones\Desktop\新建文字文件.txt",FileMode.OpenOrCreate, FileAccess.Write
)) { //開始序列化物件 BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(fsWrite, p); } Console.WriteLine("序列化OK"); Console.ReadKey();

-反序列化一個類:deserialize

Person p;
using (FileStream fsRead = new FileStream(@"C:\Users\lones\Desktop\新建文字文件.txt", FileMode.OpenOrCreate, FileAccess.Read))
{
   BinaryFormatter bfRead = new BinaryFormatter();
   p = (Person)bfRead.Deserialize(fsRead);
}

Console.WriteLine(p.Name);
Console.WriteLine(p.Age);
Console.WriteLine(p.Gender);
Console.ReadKey();

相關推薦

C#學習筆記6-序列序列

序列化 就是將物件轉換為二進位制 反序列化 就是將二進位制轉換為物件 作用 傳輸資料。資料在網路中是以二進位制形式傳輸的。 序列化的類不能被繼承 關鍵字 [Serializable]:定義一個類可被序列化 [Serializable]

C++學習筆記6——C++運算子和表示式

C++程式是由各式各樣的語句組成的,而語句又是由表示式轉化而來的。C++表示式是任何值或任何有效值與運算子的組合。本篇筆記總結C++程式的基本構成元素之一——表示式以及構成它所需的運算子。 一、表示式 需要明確任何值或任何有效值與運算子的組合都是表示式。同理,每個表示式都

Python資料分析挖掘學習筆記5資料規範化資料離散實戰

一、相關理論: 1、資料規範化的常見方法: (1)離差標準化(最小-最大標準化)--消除量綱(單位)影響以及變異大小因素的影響。(最小-最大標準化)                         x1=(x-min)/(max-min) (2)標準差標準化--消除單

C#學習筆記5-值型別引用型別

值型別 值型別的值存在棧上 int double char decimal bool enum struct 引用型別 引用型別存在堆上 - string - 陣列 - 自定義類 - 集合 - object - 介面

Python時間序列LSTM預測系列學習筆記6-單變數

本文是對: https://machinelearningmastery.com/time-series-forecasting-long-short-term-memory-network-python/ https://blog.csdn.net/iyangdi/article/deta

C++基礎教程面向物件學習筆記6

解構函式 一個解構函式是另一個特殊的類的成員函式,這個函式只有在類的一個物件被銷燬時執行。建構函式旨在初始化類,而解構函式旨在幫助清理累的物件。 當物件正常超出範圍,或者使用delete關鍵字顯式刪除動態分配的物件時,會自動呼叫類解構函式(如果存在),以便在從記

C++Primer 5e》學習筆記6:類

#include <iostream> using namespace std; struct Sales_data { friend Sales_data add(const Sales_data&,const Sales_data&a

C#學習筆記7——委托

() namespace test task cnblogs [] string 命名空間 program 說明(2017-5-29 22:22:50): 1. 語法:public delegate void mydel();這一句在類外面,命名空間裏面。 2. 專門新建一

C#學習筆記12——三種方法操作XML

結點 記得 ext 應用程序 eval 資源 特性 pla cells 說明(2017-7-11 16:56:13): 原文地址: C#中常用的幾種讀取XML文件的方法 XML文件是一種常用的文件格式,例如WinForm裏面的app.config以及Web程序中的web.c

ASP.NET學習筆記6——jQuery的Ajax基本操作

stat password ash page serve () c# content scrip 說明(2017-11-5 15:49:29): 1. jQuery裏封裝了三個方法,$.get,$.post和$.ajax,其中$.ajax是返回原生的XMLHttpReque

c++學習筆記- lambda表達式 叠代器 算法

tex 參數 p s 刷題 algo 叠代器 裏的 blog 而且 關於lambda表達式: 刷題的時候遇到一句代碼不懂: char ch = *it;auto it2 = find_if(it, b.end(), [ch](char x){ return x != ch

Linux第二周學習筆記6

font anaconda 如果 使用 oot zhong 提示 就是 bsp Linux第二周學習筆記(6)2.12.MV命令mv命令:用來對文件或目錄重新命名,或者將文件從一個目錄移到另一個目錄中。------------------------------------

TensorFlow學習筆記6讀取數據

官網 com 記錄 mat target 項目 AD 包含 技術 Overview 之前幾次推送的全部例程,使用的都是tensorflow預處理過的數據集,直接載入即可。例如: 然而實際中我們使用的通常不會是這種超級經典的數據集,如果我們有一組圖像存儲在磁盤上

C++學習筆記——一個字符串分割和統計的工具TextUtils

發生 插入 exit 大小 按行讀取 位置 n) fstream ostream 第一講先從一個實例開始——我們需要完成一個遍歷文件並統計單詞出現次數的任務。分解功能:首先,按行讀取文件並舍棄可能的空行。其次,將每一行都按照空格劃分單詞。因為可能存在標點符號,我們還需要將標

C++學習筆記——交換函數swap

pos 變量 col 值傳遞 一段 turn 如何選擇 ret 原因 這次我們要透過一個簡單的函數swap深入理解函數傳參的本質以及在C++中如何選擇傳參方式。 先來看第一段程序: void swap(int x, int y) { int temp = y;

python學習筆記6--循環語句

start 循環語句 odi 語句 python學習 col end body AR 循環語句如下: for i in range(start, end): //註意 前閉後開 coding for i in 列表名: coding while 條

Ojective-C學習筆記1

png 蘋果電腦 copyright 準備 開發 代碼 com 版本號 img 工欲善其事必先利其器,想要學習iOS開發,必須要有一些必要的設備才行。 準備工作: 一臺蘋果電腦,系統版本號10.13.4。安裝Xcode軟件,版本號9.3。以及一部蘋果手機。一切都準備好了,開

ojective-C學習筆記5關於面向對象編程

reat com new 面向對象 cti 重要 dispatch circle 術語 先了解幾個OC中有關面向對象編程的術語 類(class)是一種表示對象類型的結構體。這裏所說的結構體和C語言中的結構體不是一回事。 對象(object)是一種包含值和指向其類的隱藏指針的

Rust語言學習筆記6

course lin key ati clas mem nsh lis The Traits(特質) // 特質 pub trait Summary { fn summarize(&self) -> String; } pub struct NewsA

C++ 學習筆記 const的加強

right 變量 pla 實例 編譯器 display 簡介 c語言 style const 含義為只讀。如果在程序中顯式改變const變量那麽編譯會報錯。 C語言的const: 在C語言中const 變量是放在內存中,如果使用指針可以簡介改變const變量。所以在C語