C#的is和as操作符来进行强制类型转换&&值类型的拆箱、装箱
1 if(o is Employee) 2 { 3 Employee e=(Employee)o; 4 //在if语句剩余的部分中使用e; 5 }
1 Employee e=o as Employee; 2 if(e!=null) 3 { 4 //在if语句中使用e; 5 }
as方法简化代码写法,同时提升性能。
为了将一个值类型转换为一个引用类型,可以使用装箱机制。实际发生的是:
1、从托管堆分配内存。
2、值类型的字段复制到新分配的堆内存。
3、返回对象的地址。
拆箱实际就是一个指针获取过程,该指针指向包含在一个对象中的原始值类型。