using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary; namespace SerializeTest
{
class Program
{
static void Main(string[] args) {
// Create a Person
Person ztc = new Person("ZhouTianChi", ); // Serialize 将这个 Person 类的实例,写入到硬盘中保存
using (FileStream fs = File.Create(@"D:\person.txt")) {
// 使用的是 BinaryFormatter 类
BinaryFormatter bf = new BinaryFormatter();
// 的Serialize 方法
bf.Serialize(fs, ztc);
} // 声音一个空的 Person 类,用来装载我们反Serialize后得到的对象
Person DeSerializeZTC;
// DeSerialize
using (FileStream fs = File.Open(@"D:\person.txt",FileMode.Open)) {
// 使用 BinaryFormatter 类
BinaryFormatter bf = new BinaryFormatter();
// 的 Deserialize 方法
DeSerializeZTC = (Person)bf.Deserialize(fs); DeSerializeZTC.SayHello();
}
}
} // 这里我们定义一个 类, (可序列化的类,就是把类中的数据弄成流的形式)
[Serializable]
class Person {
// NonSerialized 就是不将这个字段序列化.
[NonSerialized]
public string test = "asldkgjweg"; public int Age { get; set; }
public string Name { get; set; }
public Person(string name, int age) {
this.Age = age;
this.Name = name;
}
public void SayHello() {
Console.WriteLine("I am " + Name + ". And " + Age + " years old.");
}
}
}

Serialized 序列化 , 就是把类中的数据转化成流的形式. 这样, 可以存在硬盘中, 也可以在网络间传送.

C# 序列化 Serialize 的应用的更多相关文章

  1. 序列化serialize()与反序列化unserialize()的实例

    在写序列化serialize与反序列化unserialize()时,我们先来看看: serialize - 产生一个可存储的值的表示 描述 string serialize ( mixed $valu ...

  2. 【PHP基础】序列化serialize()与反序列化unserialize()

    序列化serialize()与反序列化unserialize(): 序列化serialize():就是将一个变量所代表的 “内存数据”转换为“字符串”的形式,并持久保存在硬盘(写入文件中保存)上的一种 ...

  3. 文件读取的时候要留意 -- 序列化serialize()与反序列化unserialize():

    原文:https://blog.csdn.net/little_rabbit_baby/article/details/53840543 序列化serialize()与反序列化unserialize( ...

  4. php数组序列化serialize与unserialize

    $arr=array('1','2','3');echo serialize($arr); //序列化 a:3:{i:0;s:1:"1";i:1;s:1:"2" ...

  5. 【MFC】序列化(Serialize)、反序列化(Deserialize)

    1.首先在头文件里面声明 DECLARE_SERIAL(CSelectionSerial) 2.重写CObject的Serialize函数 virtual void Serialize(CArchiv ...

  6. 【转】【C#】序列化(Serialize)、反序列化(Deserialize)

    序列化又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制.其目的是以某种存储形成使自定义对象持久化,或者将这种对象从一个地方传输到另一个地方. .NET框架提供了两种串行化的方式: 1. ...

  7. jquery序列化serialize()方法空格变为+问题解决参考方法

    $("#sendNoticeData-form").serialize();会在value中存在空格的地方转化为+符合.比如:name:tiwax aaa序列化后为tiwax+aa ...

  8. 原生JS实现表单序列化serialize()

    有一个form表单,要用AJAX后台提交,原来想拼接json,但是数据多了麻烦,不灵活. 用HTML5的FormData来初始化表单 var formdata=new FormData(documen ...

  9. 序列化serialize与反序列化unserialize

    有利于存储和传递value(除了resource类型外),却不会丢失其原有类型和结构. serialize序列化时会调用魔术方法__sleep(); unserialize反序列化时会调用魔术方法__ ...

随机推荐

  1. 05-树9 Huffman Codes

    哈夫曼树 Yes 需满足两个条件:1.HuffmanTree 结构不同,但WPL一定.子串WPL需一致 2.判断是否为前缀码 开始判断用的strstr函数,但其传值应为char *,不能用在strin ...

  2. linux 病毒 sfewfesfs

    由于昨天在内网服务器A不小心rm -fr / ,导致服务器A完蛋,重装系统后,不知道啥原因,局域网瘫痪不能上网,最后发现内网服务器A的一个进程sfewfesfs cpu 300%.路由器被网络阻塞啦. ...

  3. 在mac系统安装Apache Tomcat的详细步骤[转]

    对于Apache Tomcat 估计很多童鞋都会,那么今天就简单说下在mac上进行tomcat的安装: 第一步:下载Tomcat   这里Himi下载的tomcat version:7.0.27 直接 ...

  4. SQL注入式攻击

    百度百科:http://baike.baidu.com/link?url=GQbJ2amTzTahZA7XJSBDLYYkN3waQ9JCoJ0l--tCWlvKQibe0YaH4hpmgEnLyn0 ...

  5. hdu 5327 Olympiad

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5327 Olympiad Description You are one of the competit ...

  6. golang面向对象初识

    struct是变量的集合 interface是方法的集合 struct与interface都支持匿名字段, 换言之, 支持组合实现继承. golang的struct与C++的class一样, 只能声明 ...

  7. OSGi 对软件复杂度的影响

    出自 深度理解 osgi equinox 原理 1.2.1 OSGi 能让软件开发变得更容易吗 不可否认,OSGi 的入门门槛在 Java 众多技术中算是比较高的,相对陡峭的学习曲线会 为第一次使用 ...

  8. c语言的结构体字节数统计

    struct结构体的字节数 等于 结构体中最大类型的字节数的倍数. 如: typedef struct Student{    short id; //2个字节    char name[15]; / ...

  9. 从烙铁手到IT男

    时间:2015年8月27日 21:37:44 作者:luomg 摘要: 简要记录一写自己干的这个行当,多少是个回忆,不然某一天呜呼哀哉了啥也没有记录,会随着时间更新(大学时熬夜绘制了很多altium ...

  10. verilog中级别到底是什么?级别的分类是什么???

    1.级别到底是什么? 答:所谓的系统级,算法级,RTL级,门级,开关级,就是在不同的层次上来描述某个电路模块.当然行为级和结构级就是在行为上和结构上来描述电路模块. 模块可以用不同级别语言来描述,当然 ...