首页 百科知识 显式引用转换

显式引用转换

时间:2023-10-19 百科知识 版权反馈
【摘要】:显式引用转换发生在引用类型之间,需要在运行时检测以确保正确。

4.2.3 显式引用转换

显式引用转换包括:

(1)从对象到任何引用类型。

(2)从类类型S到类类型T,其中S是T的基类。

(3)从类类型S到接口类型T,其中S不是密封类,而且没有实现T。

(4)从接口类型S到类类型T,其中T不是密封类,而且没有实现S。

(5)从接口类型S到接口类型T,其中S不是T的子接口。

(6)从元素类型为Ts的数组类型S到元素类型为Tt的数组类型T的转换,这种转换需要满足下列条件:

①S和T只有元素的数据类型不同,而维数相同;

②Ts和Tt都是引用类型;

③存在从Ts到Tt的显式引用转换。

(7)从System.Array到数组类型。

(8)从System.Delegate到代理类型。

(9)从System.ICloneable到数组类型或代理类型。

显式引用转换发生在引用类型之间,需要在运行时检测以确保正确。为了确保显式引用转换的正常执行,要求源变量的值必须是null或者它所引用的对象的类型可以被隐式引用转换为目标类型,否则显式引用转换失败,将抛出一个InvalidCastException异常。

不论隐式还是显式引用转换,虽然可能会改变引用值的类型,却不会改变值本身。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈