这两种类型之间的区别是什么?
SomeClass sc = (SomeClass)SomeObject;
SomeClass sc2 = SomeObject as SomeClass;
通常,它们不都应该显式转换为指定的类型吗?
这两种类型之间的区别是什么?
SomeClass sc = (SomeClass)SomeObject;
SomeClass sc2 = SomeObject as SomeClass;
通常,它们不都应该显式转换为指定的类型吗?
如果源类型不能转换为目标类型,前者将抛出异常.后者将导致sc2为空引用,但没有例外.
[编辑]
我最初的答案当然是最显著的区别,但作为Eric Lippert points out,这并不是唯一的区别.其他差异包括:
最后,使用"as"与CAST操作符相比,您还可以说"我不确定这是否会成功."