为了账号安全,请及时绑定邮箱和手机立即绑定

C#中as关键字的作用?

C#中as关键字的作用?

C#
慕容3067478 2018-10-01 10:06:00
C#中as关键字的作用?
查看完整描述

1 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

 定义:可以使用 as 运算符执行转换的某些类型在兼容之间的引用类型或可以为 null 的类型。

  备注:as 运算符类似于强制转换操作。 但是,如果转换是不可能的,as 返回 null 而不引发异常。请注意 as 运算符执行只引用转换、nullable 转换和装箱转换。 as 运算符不能执行其他转换,如用户定义的转换,应是通过使用转换的表达式。

  expression as type

  expression is type ? (type)expression : (type)null

  这两个表达式是等效的,但 expression 变量只计算一次。

  示例:
  Object myObject = new Object(); //创建一个object对象

  ClassA a = myObject as ClassA; //将它转换为ClassA类型,此操作会失败,但不会抛异常,a会被设置为null

  a.ToString(); //访问a会抛出一个System.NullReferenceException异常

  as 的工作方式和强制类转换一样,但是它永远不会抛出一个异常,如果指定的操作不能正确地进行转换,那么得到的就是null,实际应用中通常会判断结果是否为 null;

查看完整回答
反对 回复 2018-10-22
  • 1 回答
  • 0 关注
  • 644 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信