类型转换-C#铸造这两种方式有何不同
本文关键字:方式 何不同 两种 -C# 类型转换 | 更新日期: 2023-09-27 18:00:10
在C#中,如果我执行,则强制转换有什么区别
MyType mytype = (MyType) obj;
或
MyType mytype = obj as MyType;
当obj
无法转换为MyType
时,第一个方法失败。当您使用第二种方式时,mytype
要么是obj
广播到MyType
,要么是空的(如果不能广播)。
第二个只能与引用类型(类和接口)一起使用,如果变量不是强制转换类型,则将返回null。第一个适用于任何类型(structs也是),并将引发异常。