2014年8月14日

摘要: 分析问题 对象实例的序列化,是指把实例对象转换为可方便存储、传输和交互的流。而对象的实例则包含类型的成员变量、类型的名称以及对象所在的程序集等信息。在.NET中,通过Serializable特性提供了序列化对象实例的机制。当一个类型被申明为Serializable后,它就能被诸如BinaryFor... 阅读全文
posted @ 2014-08-14 16:35 wangjinpeng_study 阅读(710) 评论(0) 推荐(0)
摘要: 分析问题 由于网络的带宽限制、硬盘内存空间限制等原因,文件和数据的压缩是程序员经常会遇到的一个需求。针对此.NET类库中提供了对于压缩和解压的支持:GZipStream类型和DeflateStream类型,它们都被定义在System.IO.Compression命名空间下,两者都继承自Stream... 阅读全文
posted @ 2014-08-14 11:50 wangjinpeng_study 阅读(313) 评论(0) 推荐(0)
摘要: 分析问题 流是一种对于字节流的直接操作。例如在处理一个文件时,本质上需要通过操作系统提供的API来进行文件打开,读取文件中的字节流,再关闭文件等操作,而读取文件的过程就可以看作字节流的一个过程。常见的流类型有文件流、终端操作流、网络Socket等。 在.NET中,System.IO.Stream... 阅读全文
posted @ 2014-08-14 11:07 wangjinpeng_study 阅读(558) 评论(0) 推荐(0)
摘要: 分析问题 标准模版库(STL)实在惠普实验室开发出来的一套算法类库的集合,从概念上主要区分为三大部分: 1、算法(algorithm)。 2、容器(container)。 3、迭代器(iterrator)。 STL的设计都致力于打造通用的算法和类库,例如一个排序的算法,可能针对包含不同类型... 阅读全文
posted @ 2014-08-14 08:32 wangjinpeng_study 阅读(400) 评论(0) 推荐(0)
摘要: 分析问题 当一个泛型参数没有任何约束时,它可以进行的操作和运算是非常有限的,因为不能对实参做任何类型上的保证,这时候就需要用到泛型的约束。泛型的主要约束和次要约束都是指泛型的实参必须满足一定的规范,C#编译器在编译的过程中可以根据约束来检查所有泛型类型的实参并确保其满足约束条件。 一个泛型参数可... 阅读全文
posted @ 2014-08-14 08:07 wangjinpeng_study 阅读(1152) 评论(0) 推荐(0)
摘要: 分析问题 泛型的语法和概念非常类似于C++中的模版,泛型和C++中模版的设计是为了方便设计一些更加通用的类型,而在.NET中泛型还有另外一个重要作用,那就是避免容器操作中的装箱和拆箱动作。以下代码是一个简单的泛型例子:using System;namespace Test{ class Ma... 阅读全文
posted @ 2014-08-14 07:41 wangjinpeng_study 阅读(381) 评论(0) 推荐(0)
摘要: 分析问题 在程序中,类型转换无处不在,数组类型也不例外。对于普通的类型,子类对象可以隐式地转换为父类类型,所有的数组类型都继承自System.Array类型,不存在相互间的关系,但隐式转换仍然被允许,其机制如下: 1、包含值类型项目的数组不能隐式地转换成其他任何类型。 2、两个数组类型能够相互... 阅读全文
posted @ 2014-08-14 07:16 wangjinpeng_study 阅读(588) 评论(0) 推荐(0)

2014年8月13日

摘要: 分析问题 .NET所有数据都以类型的方式表示,数组也不例外。存储不同类型项目的数组都是一个类型,.NET会自动地为数组生成新的类型。例如下列申明:DateTime[] times; CLR就会在运行时创建一个DateTime[]类型,所以数组类型可以说是一个类型族,而它们的共性就是所有的数组类型... 阅读全文
posted @ 2014-08-13 17:39 wangjinpeng_study 阅读(1586) 评论(0) 推荐(0)
摘要: 分析问题 由于字符串的不可变性,程序中对用一字符串的大量修改或者对多个引用赋值同一字符串理论上会产生大量的临时字符串对象,这会极大程度地降低系统的性能。对于前者,可以使用StringBuilder类型来解决问题,这在前面章节中已经有所介绍了,而对于后者,.NET提供了另外一种不透明的机制来帮助优化... 阅读全文
posted @ 2014-08-13 11:07 wangjinpeng_study 阅读(186) 评论(0) 推荐(0)
摘要: 分析问题 System.Security.SecureString被设计用来保存一些机密的字符串,完成传统字符串所不能做到的工作。传统字符串以明码的形式分配在内存上,一个简单的内存读写软件可以轻易地捕获这些字符串,这在有些机密系统中是不被允许的。读者可能觉得对字符串加密会解决类似的问题,但事实上对... 阅读全文
posted @ 2014-08-13 10:44 wangjinpeng_study 阅读(287) 评论(0) 推荐(0)

导航