- 浏览: 145143 次
- 性别:
- 来自: 火星
文章分类
最新评论
-
hxl860217:
...
为什么要使用代理类(代理模式) -
showzh:
myeclipse没有这个菜单
如何卸载Eclipse插件 -
xiefei3k:
不给力啊 从数据里查出用户名的结果里面进行判断的代码呢。
...
jquery servlet jsp完成用户名存在验证 $.ajax() -
songfantasy:
不错。挺好的。
如何卸载Eclipse插件 -
tongliaozhang:
只适合数字吧 如果有汉字怎么办呢我的第一列中有A01 这样的记 ...
利用PL/SQL Developer工具导入excel数据
1序列化:是将对象的状态存储到特定的存储介质中的过程,在序列化的过程 中,会将对象的公有成员,私有成员包括类名,都转换成数据流的形式,存储到存储介质中, 2 3反序列化: 是从将特定存储介质中闺怨数据重新构建对象的过程.通过反序列化,可以将庆文件上的对象信息读取,然后重新构建为对象. 4 5一个类要实现序列化,这个类的特性必须被标识为[Serializable] 6 7序列化保存到存储介质上的文件为二进制文件,因此要对二进制进行操作,要引入命名空间: 8 9using System.Runtime.Seriialization.Formatters.Binary; 10 11对二进制操作,就要用到流,要引入命名空间 12 13using System.IO; 14 15下面是实例 16 17using System; 18using System.Collections.Generic; 19using System.Text; 20 21namespace SerializableTest 22{ 23 24 [Serializable] //特性,表明此类可以被序列化 25 public class Students 26 { 27 private string name; 28 29 public string Name 30 { 31 get { return name; } 32 set { name = value; } 33 } 34 private int age; 35 36 public int Age 37 { 38 get { return age; } 39 set { age = value; } 40 } 41 42 } 43} 44 45 46 47using System; 48using System.Collections.Generic; 49using System.Text; 50using System.IO; 51using System.Runtime.Serialization.Formatters.Binary; 52 53namespace SerializableTest 54{ 55 /**//// <summary> 56 /// 序列化的类 57 /// </summary> 58 public class SerializableClass 59 { 60 /**//// <summary> 61 /// 序列化学生类的信息 62 /// </summary> 63 /// <param name="student"></param> 64 public void Serial(Students student) 65 { 66 FileStream fs = new FileStream(@"c:\test.bin", FileMode.OpenOrCreate); 67 BinaryFormatter bf = new BinaryFormatter(); 68 bf.Serialize(fs, student); 69 fs.Close(); 70 } 71 72 /**//// <summary> 73 /// 反序列化学生类的信息 74 /// </summary> 75 /// <returns></returns> 76 77 public Students DeSerial() 78 { 79 FileStream fs = new FileStream(@"c:\test.bin", FileMode.OpenOrCreate); 80 BinaryFormatter bf = new BinaryFormatter(); 81 Students stu = bf.Deserialize(fs) as Students; 82 fs.Close(); 83 return stu; 84 85 } 86 87 /**//// <summary> 88 /// 序列化泛型集合 89 /// </summary> 90 /// <param name="stuList"></param> 91 public void SerialList(List<Students> stuList) 92 { 93 94 FileStream fs = new FileStream(@"c:\test.txt", FileMode.OpenOrCreate); 95 BinaryFormatter bf = new BinaryFormatter(); 96 97 bf.Serialize(fs, stuList); 98 99 fs.Close(); 100 101 } 102 103 /**//// <summary> 104 /// 反序列化泛型集合 105 /// </summary> 106 /// <returns></returns> 107 public List<Students> DeSerialList() 108 { 109 FileStream fs = new FileStream(@"c:\test.txt", FileMode.OpenOrCreate); 110 BinaryFormatter bf = new BinaryFormatter(); 111 List<Students> stuList = bf.Deserialize(fs) as List<Students>; 112 fs.Close(); 113 return stuList; 114 } 115 116 117 } 118} 119 120 121using System; 122using System.Collections.Generic; 123using System.Text; 124 125 126namespace SerializableTest 127{ 128 class Program 129 { 130 static void Main(string[] args) 131 { 132 133 SerializableClass sc = new SerializableClass(); 134 Students student = new Students(); 135 student.Name = "miaoqing"; 136 student.Age = 24; 137 138 //调用对类序列化的方法 139 sc.Serial(student); 140 //调用对类反序列化的方法 141 Students stuDe = sc.DeSerial() as Students; 142 Console.WriteLine("对Student类的序列化的输出"); 143 Console.WriteLine(stuDe.Name + stuDe.Age); 144 145 //Student 类 泛型集合 146 List<Students> stuList = new List<Students>(); 147 148 Students stu = new Students(); 149 stu.Name = "sofie"; 150 stu.Age = 21; 151 stuList.Add(stu); 152 153 Students stu1 = new Students(); 154 stu1.Name = "jrian"; 155 stu1.Age = 26; 156 stuList.Add(stu1); 157 158 //调用对泛型序列化的方法 159 sc.SerialList(stuList); 160 161 //调用对泛型反序列化的方法 162 List<Students> stuList1 = sc.DeSerialList(); 163 foreach (object obj in stuList1) 164 { 165 Students stuObj = obj as Students; 166 Console.WriteLine(stuObj.Name + stuObj.Age); 167 } 168 } 169 } 170 171}
http://www.cnblogs.com/pengpeng614/archive/2008/08/29/1279719.html
发表评论
-
c#中 父类调用子类的属性、方法
2016-08-17 17:50 4450我们习惯认为,子类对父类是不可见的,或者说父类不知道 ... -
在IIS 7.5中部署Web项目
2013-08-16 15:49 737http://www.soaspx.com/dotnet/se ... -
c# 拖动控件闪烁
2012-11-06 14:41 1353最近几天在做画线框的工作,类似于截屏之后修改截屏大小的那种, ... -
UDP用同一端口收发数据 c#
2012-10-17 13:02 4724之前用UdpClient,发现当开了一个端口用于监听接收 ... -
Windows 7下VS2008升级补丁
2012-06-04 11:29 5在Windows 7下,VS2008试用版无法正常升级到正式版 ... -
C#读取exe版本号
2012-04-20 10:44 1218//通常我们做软件自动更新,需要比较新文件与旧文件的版本 ... -
c#读取php序列化字符串
2011-06-04 16:25 1172详见附件 -
c#获取网页代码
2011-03-22 16:58 1119using System; using System. ... -
.NET连接mysql数据库 MySQLDriverCS.dll
2011-03-22 16:30 1681string mysqlConn = new MySQ ... -
c#委托相当于c++的回调函数(函数指针)
2010-05-12 17:08 3520回调函数,就是由你自己写的。你需要调用另外一个函 ... -
一些容易出错的地方(持续更新)
2010-04-16 12:39 7641.在html 或者aspx文件里去掉这段代码<!DOC ... -
泛型类(普通类)中的普通方法和泛型方法
2009-10-31 16:48 945在普通类中用泛型方法 public class A { ... -
c#泛型(包括泛型抽象类的继承)
2009-10-17 19:26 35941.泛型和泛型强制转换 using System; ... -
.net提供的5种request-response方法一
2009-09-06 17:16 1778.net提供了三种基本方法和两种底层方法来发送ht ... -
C#三种模拟自动登录和提交POST信息的实现方法
2009-06-09 10:57 3223C#三种模拟自动登录和提交POST信息的实现方法 ... -
.Net下WinForm换肤控件整理
2009-06-08 09:13 22971. 东日IrisSkin IrisSkin 共有两个版本,一 ... -
论反射
2009-05-27 10:20 8381 反射 反射是很多类库在实现一些很炫的功能的时候会常用 ... -
C#装箱与拆箱
2009-04-30 14:54 1003要掌握装箱与拆箱,就必须了解CTS及它的特点。 NET重要技 ... -
遍历页面上的下拉框元素,设置初始值的4种写法
2009-04-30 14:51 1246foreach (Control co ... -
c# 特性/属性(Attribute) 以及使用反射查看自定义特性
2009-04-20 16:10 4749可能很多人还不了解特性,所以我们先了解一下 ...
相关推荐
在C#编程中,序列化和反序列化是两个关键的概念,它们主要用于对象状态的持久化和恢复。本文将深入探讨C#中的XML序列化和反序列化技术,包括如何将XML文档解析为对象,以及如何将对象转换回XML文档进行存储。我们将...
在这个“C#序列化和反序列化案例”中,我们可以通过提供的代码示例深入理解这两个概念。 首先,序列化是将对象的状态转换为可以存储或传输的数据格式的过程。在C#中,我们可以使用内置的System.Runtime....
反序列化时,我们需要确保接收的数据与原始对象类型匹配,否则可能会抛出异常。 为了简化序列化和反序列化的操作,开发者通常会创建一个封装类,该类提供简单的API供其他代码调用。例如,我们可以创建一个名为`...
C#序列化是指将一个对象的实例转换为一组字节流,这通常用于保存对象的状态以便稍后恢复,或者在网络之间传输对象。C#提供了多种类型的序列化,包括XML序列化、二进制序列化、JSON序列化等。 1. XML序列化:使用...
### C#对象序列化与反序列化 #### 1. 对象序列化的介绍 ##### (1).NET支持对象序列化的几种方式 .NET框架提供了多种序列化机制,它们各自有不同的应用场景和特点。 - **二进制序列化**: - **定义**:二进制...
综上所述,"C#序列化和反序列化"这个主题涵盖了如何在C#程序中有效地管理和操作数据的各个方面。通过深入理解这些概念和实践,开发者可以更好地处理数据的保存和传输,提升应用程序的性能和功能。
2. **对象序列化与反序列化**: 序列化是将对象转换为可存储或传输的形式,如字节流或文本,而反序列化则是将这些形式恢复为原始对象。C#中的`System.Runtime.Serialization`命名空间提供了多种序列化工具,如`...
首先,C#序列化是将对象转换为字节流的过程,这使得数据可以被保存到磁盘、数据库,或者在网络上传输。C#提供了多种序列化方式,包括XML序列化、JSON序列化和二进制序列化。例如,使用`XmlSerializer`类可以将对象...
本篇文章将深入探讨C#和Java中的序列化与反序列化机制。 首先,我们要了解什么是序列化。序列化是指将对象的状态转化为可存储或可传输的数据格式的过程。这个过程通常将内存中的对象转换成字节流,以便保存到磁盘、...
在这个特定的场景中,我们看到的是一个利用C#进行序列化和反序列化的实践例子,用于在文本文件(如TXT)与List对象之间交换数据,最后展示在datagridview中。 1. **什么是序列化?** 序列化是将对象的状态转换为...
1. **什么是序列化与反序列化?** - **序列化**:是将对象的状态转化为可持久化的格式(如XML、JSON、二进制等),使得对象可以在不同时间点或者不同环境之间进行传输和保存。 - **反序列化**:是序列化的逆过程,...
在C#编程中,对象序列化和反序列化是至关重要的技术,它们允许开发者将复杂的对象状态转换为可存储或可传输的数据格式,如XML...以上就是关于C#对象序列化与反序列化的基本知识,以及如何在实践中应用这些概念的实例。
在编程世界中,序列化和反序列化是两个至关重要的概念,尤其是在C#这样的面向对象的语言中。它们允许我们将对象的状态转换为数据流,以便存储或传输,然后将这些数据流还原为原来的对象形式。本篇文章将深入探讨C#中...
### C#中的序列化与反序列化 #### 一、序列化概述 序列化是将对象的状态转换为可持久化的形式的过程。在计算机科学中,序列化常常用于将对象的状态保存到磁盘或其他存储媒介中,或者在网络上传输对象状态。这种技术...
6. **加载到`TreeView`**:在反序列化完成后,可以使用`TreeView`的`Nodes`属性添加或插入节点,构建出与原始树结构相同的新`TreeView`。 注意,对于复杂的数据类型,可能需要额外处理,如转换为字符串后再序列化,...
在C#编程中,序列化和反序列化是将对象的状态转换为可存储或传输的形式,然后恢复为原始对象的过程。这在数据持久化、网络通信以及跨应用程序域共享数据时非常有用。本主题将详细探讨C#中的三种序列化方式:二进制...
XML序列化与反序列化是.NET框架中处理数据交换的重要技术,它允许我们将对象的状态转换为XML格式的数据,也可以将XML数据恢复为等效的对象。这个实战项目专注于使用C#实现这一过程,使得开发者能够方便地在XML文件和...
在C#编程中,序列化和反序列化是至关重要的技术,它们允许我们将对象的状态转换为数据流(如字节序列),以便存储或传输,之后再恢复为原来的对象形式。本资源聚焦于C#中的二进制序列化,这是一种效率高、数据紧凑的...