,虽然它没有定义自己的实例字段)中定义的所有实例字段需要的字节数.堆上每个对象都需要一些额外的成员,包括“类型对象指针”和"同步索引块"。...CLR利用这些成员管理对象.额外成员的字节数要计入对象的大小.
2、从托管堆中分配类型要求的字节数,从而分配对象的内存,分配的所有字节都设为0
3、初始化对象的"类型对象指针"和"同步索引块"成员
4、...Person派生自Object
Person p = (Person)obj;
}
}
internal class Person { }
注:进行强制转换的对象必须是接收类型的派生类型...,如果不是,编译器会报System.InvalidCastException异常.
2、使用is和as来进行强制转换
(1)、is操作符
C#中进行类型转换的另一种方式是使用is操作符,is检查对象是否兼容于指定类型...,用每个基类型去核对指定的类型.
2、as操作符
为了简化is操作符的做法,同时提供is操作符的性能,C#专门提供了as操作符,as操作符的工作方式与强制类型转换一样,只是它永远不抛出异常,如果对象不能转换