摘要: CLR支持两种类型:引用类型和值类型。虽然FCL的大多数类型都是引用类型,但程序员用的最多的还是引用类型,引用类型总是从托管堆分配,c#的new操作符返回对象内存地址-即指向对象数据的内存地址。使用引用类型必须注意性能问题。首先要认清楚以下4个方面: 1、内存必须从托管堆分配。 2、堆上分配的每个对 阅读全文
posted @ 2016-05-28 18:17 青春岁月,无怨无悔 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 在C#语言中进行类型转换的另外一种方式是使用is和as操作符。is检查对象是否兼容于指定类型,返回Boolean值true或false。注意,is操作符永远不抛出异常,例如以下代码: 如果对象引用null,is操作符总是返回false,因为没有可以检查其类型的对象。 is操作符通常像下面这样使用: 阅读全文
posted @ 2016-05-28 15:45 青春岁月,无怨无悔 阅读(406) 评论(0) 推荐(0) 编辑
摘要: CLR最重要的特性之一就是类型安全的。在运行时,CLR总是知道对象的类型是什么。调用GetType()方法可以知道对象的确切类型,由于它是非虚方法,所以一个类型不可能伪装成另一种类型。每种编程语言都规定了开发人员具体如何进行这种转换操作。例如,C#不要求任何特殊语法即可将对象转换成他的基类型,因为向 阅读全文
posted @ 2016-05-28 15:27 青春岁月,无怨无悔 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 所有类型都从System.Object 派生,‘运行时’要求每个类型都从System.Object类派生,也就是说,以下两个类型定义完全一致: 由于所有类型最终都是从System.Object派生,所以每个类型的每个对象都保证了一组最基本的方法,System.Object提供了一下公共实例方法: 1 阅读全文
posted @ 2016-05-28 15:13 青春岁月,无怨无悔 阅读(186) 评论(0) 推荐(0) 编辑