可能重复:
c#中的以下强制转换之间有什么区别?
在C#中,铸造对象或使用as关键字有区别吗?希望这段代码能说明我的意思......
String text = "Hello hello";
Object obj = text; 
String originalCast = ((String)obj).ToUpper();
String originalAs = (obj as String).ToUpper();
谢谢
:)
Mat*_*hen 80
as永远不会抛出一个InvalidCastException.相反,如果转换失败,它将返回null(这将在您的示例中为您提供NullReferenceExceptionif obj不是a string).
Meh*_*ari 19
除了InvalidCastException已经提到的......
as 如果目标类型是值类型(除非它可以为空),它将不起作用:
obj as int // compile time error.
| 归档时间: | 
 | 
| 查看次数: | 19562 次 | 
| 最近记录: |