C# 基础类
文章平均质量分 67
ezhuyin
这个作者很懒,什么都没留下…
展开
-
[笔记]dotNET内存的分配、指针
内存分配:内存中,存在Stack和Heap两种不同分配方式。实值(int, long, short等)存于Stack中,引用类型(比如类)的首地址存于Stack中,占用4字节,这个地址指向了Heap中值的地址,而该引用的实值存于Heap中。Stack存储顺序为高位到低位,包含了一个系统指针,这个指针指向了所使用的Stack的最低位。Heap存储顺序为低位到高位,包含一个系统指针,这个指针指向所原创 2007-09-19 19:01:00 · 653 阅读 · 0 评论 -
[笔记]C#中的指针数组
C#提供了强大的数组管理,然而,他们实际上都是继承于Array类的,也就是说,他们全部存于Heap而不是Stack中。这在管理上带来了方便,然而,在效率上无法实现最优化。所幸的是,C#同样提供了指针数组,可以基于Stack来建立一个数组,并使用指针来操作这个数组。decimal* pd = stackallc decimal[10]; // 建立指针数组,内存中将分配足够10个元素的连续空原创 2007-09-20 15:05:00 · 6218 阅读 · 0 评论 -
[笔记]序列化与反序列化的讨论(一)
序列化:当我们需要将某个值(或者类)存储在某个媒介上或者进行传输,其中一个办法就是对其进行序列化。序列化将生成一个二进制流,根据不同的情况,这个流可以定位到文件或者网络流。反序列化:当我们获得一个流以后,需要从这个流中把原来的值(或者类)精确地还原,就称为反序列化。 概念太枯燥了,用一些例子可能更好理解单个类的序列化和反序列化喜欢玩游戏的都知道,每一个游戏都有存盘文件,上面记录了我原创 2007-09-24 16:34:00 · 625 阅读 · 0 评论 -
[笔记]序列化与反序列化的讨论(二)
上一篇中,讨论了序列化和反序列化的基础,同时简单说明了如何进行单个类的序列化和反序列化。一般说来,使用默认的BinaryFormatter已经可得到很高效的字节流了。但是,实际应用中,由于部分数据可能无法被默认的模式自动序列化,自定义序列化就成为必不可少的一部分。自定义序列化的在进行XML序列化的时候尤其重要。因为XML序列化用的是浅序列化模式,也就是说,只有标记为public的公共属性会被序原创 2007-09-25 14:34:00 · 532 阅读 · 0 评论 -
[代码模板]随机数的获取
C#的随机函数类Random是用来产生伪随机数(Pseudo-random numbers)的类。其原理是利用一个Seed,通过Next()方法,以相等的几率来抽取一个有限数集合中的其中一个,来作为随机数。在C#中,这个抽取方法,是根据Donald E. Knuth所提出的方法来实现的。伪随机数有一个很大的问题,就是对于相同的Seed,会产生相同的随机数。为了让Seed不同,C#默认使用原创 2007-09-25 15:11:00 · 832 阅读 · 0 评论 -
[笔记]C#自定义Generic类
Generic是Framework 2.0的新元素,中文名字称之为“泛型” (我总是记不住这个名字 = =+)特征是一个带有尖括号的类,比如List在C#中,泛型用得最广泛的地方,就是集合(Collection)中。实际上,泛型的产生其中一个原因就是为了解决原来集合类中元素的装箱和拆箱问题(如果对装箱和拆箱概念不明,请百度搜索)。由于泛型的使用,使得集合内所有元素都属于同一类,这就把类型不同的原创 2007-10-05 19:44:00 · 1198 阅读 · 0 评论