1. C# 不要求任何特殊语法即可将一个对象转换为它的任何基类型,因为向基类型的转换被认为是一种安全的隐式转换;
2. 然而,将对象转换为它的某个派生类型时,C#要求开发人员只能进行显示转换,因为这样的转换可能在运行时失败;
例子:
internal class Employee{ ... } public sealed class Program { public static void Main() { //不需要转型,因为new返回一个Employee对象, //而Object是Employee的基类型 Object o = new Employee(); //需要转型,因为Employee派生自Object。 Employee e = new (Employee)o; } }