C#铸造这两种方式有何不同

时间:2014-04-25 10:32:51

标签: c# type-conversion

在C#中,如果我做的话,有什么不同之处

MyType  mytype = (MyType) obj;

MyType  mytype = obj as MyType;

2 个答案:

答案 0 :(得分:1)

obj无法转换为MyType时,第一种方法失败。当您使用第二种方式时,mytype要么obj投放到MyType,要么如果无法投放则为空。

答案 1 :(得分:0)

第二个只能与引用类型(类和接口)一起使用,如果变量不是转换类型,则返回null。 第一个适用于任何类型(结构也是如此),而是抛出异常。