5.1.2 引用类型
符合以下情况之一者,编译器可以自动实施隐式类型转换,并且不需要运行时类型检查:
❑任意引用类型到object类型的转换;
❑派生类型到基类型的转换;
❑派生类型到其实现的接口类型的转换;
❑派生接口类型到基接口类型的转换;
❑数组类型到System.Array类型的转换;
❑委托类型到System.Delegate类型的转换;
❑null类型到所有引用类型的转换。
对于引用类型来说,无论是隐式还是显式的类型转换,改变的仅仅是引用的类型,至于该引用指向的对象的类型以及对象的值都是保持不变的。如图5-1所示,它实际改变的是变量1的类型,而引用的对象“对象1”则保持类型和值不变。
图 5-1 引用类型