相关疑难解决方法(0)

C#"as"演员与经典演员

可能重复:
使用CLR中的'as'关键字进行转换

我最近了解了一种不同的演员方式.而不是使用

SomeClass someObject = (SomeClass) obj;
Run Code Online (Sandbox Code Playgroud)

可以使用以下语法:

SomeClass someObject = obj as SomeClass;
Run Code Online (Sandbox Code Playgroud)

如果obj不是SomeClass,它似乎返回null,而不是抛出一个类转换异常.

我看到如果转换失败并且我尝试访问someObject变量,这可能导致NullReferenceException.所以我想知道这种方法背后的理由是什么?为什么要使用这种方式而不是(旧)方式 - 它似乎只是将失败的演员问题"更深"地转移到代码中.

c# casting

132
推荐指数
4
解决办法
9万
查看次数

标签 统计

c# ×1

casting ×1