Nicholas-Chen

导航

文章分类 -  C#回忆录

C#回忆录八(接口)
摘要:接口是一组方法的集合,虽然在C#中,我们还可以在接口中定义属性,事件,但那不过是附加了元数据的方法。接口中的方法没有实现,继承他的类必须自己实现继承过来的方法,除非是抽象类。抽象类不可以被实例化。 在C#中,接口不可以继承其他的类型,但可以继承多个其它的接口。而一个类只能继承一个父类,但可以继承多个接口。在设计类的层次结构时,一般而言有两种 选择,可以继承接口,也可以继承一个类。继承类称为实现继承... 阅读全文

posted @ 2006-12-17 12:54 nicholas_chen 阅读(162) 评论(0) 推荐(0)

C#回忆录七(数组)
摘要:有的时候我们需要操纵一组对象的集合,这个时候我们就需要用到数组。所有的数组都是从System.Array继承过来的。而System.Array又是从System.Object直接继承过来的。所有的数组都是引用类型。 我们可以用以下代码声明一个数组. Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.... 阅读全文

posted @ 2006-12-16 15:14 nicholas_chen 阅读(153) 评论(0) 推荐(0)

C#回忆录六(克隆)
摘要:在这里,我们讨论的克隆主要是对引用类型, 克隆分为浅拷贝和深拷贝。就浅拷贝来说,他只是在托管堆中重新生成一个对象,该对象每一个字段都与原来的对象共用。如图一: 而深拷贝是指递归拷贝其字段应用的所有对象。如图二所示: 深拷贝除了会引起额外的内存活动和资源消耗外,还可能陷入无限循环。 阅读全文

posted @ 2006-12-15 12:00 nicholas_chen 阅读(262) 评论(0) 推荐(0)

C#回忆录五(对象的等值性与为一性)
摘要:我们经常要去判断两个对象是否相等,在不同的情况下,相等的意义不一样。比如,int i=0; int j=0;我们会说他们相等,意思是值相等。再来考虑下面几行代码。 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1 class RefObject2 {... 阅读全文

posted @ 2006-12-14 22:49 nicholas_chen 阅读(216) 评论(0) 推荐(0)

C#回忆录四(类型成员)
摘要:一般,一个类型可以定义一个或多个以下成员。 一:常数。表示恒定不变的数值的符号。 二:字段。可以只读,也可以可读可写。分为静态字段和实例字段。 三:实例构造器。一种特殊方法,用来将一个新对象的字段初始化到正常的初始状态。 四:类型构造器。一种特殊方法,用来将一个类型的静态字段初始化到正常的初始状态。 五: 方法。一个函数,用来查找或修改类型或对象的字段的值. 六: 重载操作符.也是一种方法,用操作... 阅读全文

posted @ 2006-12-12 20:11 nicholas_chen 阅读(130) 评论(0) 推荐(0)

C#回忆录三(装箱与拆箱)
摘要:回忆一下,在C#里面所有的类型分为两种,值类型,引用类型。值类型分配在线程堆栈上,其变量包含的不是地址,而是其所有字段的值。引用类型被分配在托管堆上,变量包含的是其地址。那么,现在考虑类型ArrayList,但你执行下面这段代码时会发生什么呢? Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.Co... 阅读全文

posted @ 2006-12-11 19:41 nicholas_chen 阅读(105) 评论(0) 推荐(0)

C#回忆录二(引用类型和值类型)
摘要:在.NET中,所有的类型分为两种,值类型和引用类型。在我们使用一个类型的时候,必须分清它属于哪一 种,否则轻则程序效率降低,重则出现莫名其妙的BUG。 创建过程: 引用类型在托管堆上分配,在你使用new操作符的时候,CLR会在托管堆上为你分配一块内存,返回一个内 存的地址,进行相关的初始化操作,有时会引发垃圾收集操作。值类型直接在栈上面分配,为所有的字段 初始化为0(二进制意义上)。就创建一... 阅读全文

posted @ 2006-12-10 11:45 nicholas_chen 阅读(174) 评论(0) 推荐(0)

C#回忆录一(基元类型)
摘要:一般的来说,编译器直接支持的数据类型称为基元类型。在C#中,我们可以看到以下几种基元类型。sbyte 有符号8位值byte 无符号8位值short 有符号16位值ushort 无符号16位值int 有符号32位值uint 无符号32位值long 有符号64位值ulong 无符号64位值char... 阅读全文

posted @ 2006-12-06 21:11 nicholas_chen 阅读(386) 评论(0) 推荐(0)

C#回忆录(序)
摘要:昨日,一友人告知,可否于双休日的时候给他即将毕业的表弟讲讲C#的知识。当时也没细想,一口答应,心想,好歹玩C#三年之久,大大小小做了不少项目,讲讲C#应该不难。不想今天开始做点准备时才发现,平日只顾埋头苦干,疏于总结,一时之间千头万绪无从下手。许多东西其实一知半解,于是痛下决心,开始做一些总结。先从C#开始。应为都是以前学过的,所以叫回忆录。 ... 阅读全文

posted @ 2006-12-06 20:40 nicholas_chen 阅读(177) 评论(0) 推荐(0)