Welcome

首页 / 软件开发 / C# / C#的显式引用转换

C#的显式引用转换2007-09-10 本站 显式引用转换包括:

●从对象到任何引用类型

●从类类型S到类类型T,其中S是T的基类。

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

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

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

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

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

●Ts和Tt都是引用类型。

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

●从System.Array到数组类型。

●从System.Delegate到代表类型。

●从System.ICloneable到数组类型或代表类型。

显式引用转换发生在引用类型之间,需要在运行时检测以确保正确。

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

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