《.NET框架程序设计》第4章 类型基础 读后感
4.1所有类型的基类型:System.Object
所有类型继承自System.Object,所以System.Object的public方法和protected方法,所有类型也有。
new操作符干了这些事。从托管堆分内存,初始化附加成员(方法表和线程同步控制表),调用构造函数,返回新建对象的引用。
4.2类型转换
CLR运行时总能知道一个对象的类型。也就是说,编译能通过,运行的时候不一定通过。
子类转基类可显式,可隐式,不出错。
基类转子类,必须显式,可能出错。
类型转换出错,报InvalidCastException异常。
4.2.1 is与as操作
is操作符,判断类型是否兼容。兼容返回true,不兼容返回false。
as操作符,判断类型是否兼容。兼容返回非空指针,不兼容返回null
as操作符,判断类型是否兼容。兼容返回非空指针,不兼容返回null
4.3命名空间与程序集
命名空间针对于人,程序集针对于CLR。
不同的命名空间,可能拥有相同的类型名。解决方法,命名空间.类名或using 别名=命名空间.类名。
合乎自然而生生不息。。。