日期:2014-05-19  浏览次数:20856 次

ctype(变量,类型)发生了什么事情
1,只是改变了变量的类型,引用对象的类型未改变。还是引用对象的类型也被改变了?
2,一个父类(接口)变量引用子类(实现这个接口的类)实例,编译器是否在后台执行了类型转换?

------解决方案--------------------
1.1、ctype是VB中的语法,C#中是强制类型转换。
1.2、是换个类型存到另一个变量中,所以变量类型和对象类型都没变,如:
MyClass mine = new MyClass();
object o = (object) mine;
显然mine仍然是MyClass类型的

2、这是隐式类型转换,隐式类型转换还是在运行期进行的,因为类型转换中牵涉到的类型是运行时类型(对象类型),不是编译时类型(变量类型),只不过,隐式类型转换不需要任何特殊的语法。