c#~简单序列化操作
来源:互联网 发布:流量劫持者 软件 编辑:程序博客网 时间:2024/05/21 14:49
题记:以前一直不知道别人应用程序中的那些db,dat文件是怎么形成的~~后缀虽然不重要。但是里面的内容是如何产生的当时确实很茫然,今天偶然看到了c#针对序列化文件操作,才恍然大悟~原来这样也行!嘿嘿~~以后自己的程序里也能使用类似的方式保存不想让用户知道的数据了。。不用羡慕别人啦~~、
现把代码贴出如下~留个脚印,以备后用!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
namespace 序列化测试
{
[Serializable]
public class Book
{//这个便是要序列化的类了 序列化,我所可以利用的就是将此类的字段、属性、方法等序列化到一个文件中,以备后用~如果某个字段或者属性、方法不需要序列化 则在前加上[NonSerialized]便可
public string t1, t2, t3;
[NonSerialized]
public string str1;
public Book(string test1, string test2, string test3)
{
t1 = test1;
t2 = test2;
t3 = test3;
}
public string Test()
{
return "this is the test!";
}
}
public class BinarySerialize
{
static void Main()
{
Book book = new Book("徐坤平", "梁庆泉", "曾涛");
using (FileStream fs = new FileStream(@"c:\book.ddee"/*这里就是自定义文件了,其后缀名可以自己定义的咯*/, FileMode.Create))
{
BinaryFormatter formatter = new BinaryFormatter();//以二进制格式序列化对象
formatter.Serialize(fs, book);
}
Console.WriteLine("序列化成功!");
//以下是反序列化了~~
book = null;
using (FileStream fs = new FileStream(@"C:\book.ddee", FileMode.Open))
{
BinaryFormatter formatter = new BinaryFormatter();
book = (Book)formatter.Deserialize(fs); //请注意,这里返回的是将反序列化后的结果~其实可以理解为c语言中的结构体保存~忽忽~~
}
//打印效果
Console.WriteLine("Book.t1=" + book.t1);
Console.WriteLine("Book.t2=" + book.t2);
Console.WriteLine("Book.t3=" + book.t3);
Console.WriteLine(book.Test());
Console.Read();
}
}
}
- c#~简单序列化操作
- [java]:对象序列化非常简单能看懂的操作
- objective-c中的本地化操作(序列化,归档)
- Objective-C的本地化操作(序列化、归档)
- objective-c中的本地化操作(序列化,归档)
- C++Vector简单操作
- c#MQ简单操作
- 【C#-Hashtable简单操作】
- c简单位操作
- 序列化简单认识
- 简单学习序列化
- 序列化操作
- python序列化操作
- 程序序列化操作
- Qt 序列化操作
- 序列化操作
- xml 序列化操作
- 序列化基本操作
- jquery的autocomplete 智能提示 控件
- 机房收费系统登录-三层架构
- java读取Oracle中Clob字段
- Visual Studio 2010快捷键大全
- Android学习备忘002——ListView/GridView&BaseAdapter
- c#~简单序列化操作
- js判断样式className和增加class删除class
- Boost 异步tcp客户端
- Hibernate Component映射的一个简单例子
- 被人遗忘的Sql/plus 命令
- IOS平台cocos2d-x 内存释放问题的解决方案
- json_parse.js官网下载
- 22款经典UI设计二级下拉菜单导航系列
- 【Effective Java】Ch2_创建销毁对象:Item3_通过私有构造函数或枚举类型来强化Singleton属性