c# as
as:用于检查在兼容的引用类型之间执行某些类型的转换。 Employee myEmployee = myObject as Employee; if (myEmployee != null) { } 在这段代码中,CLR核实myObject是否兼容于Employee类型;如果是,as会返回对同一个对象的一个非null 的引用。如果myObject不兼容于Employee类型,as运算符会返回null。 注意:as运算符造成CLR只校验一次对象的类型。if语句只是检查myEmployee是否为null。这个检查的速度比校验对象的类型快得多。 as运算符的工作方式与强制类型转换一样,只是它永远不会抛出一个异常。相反,如果对象不能转换,结果就是null。所以,正确的做法是检查最终生成的一引用是否为null。如果企图直接使用最终生成的引用,会抛出一个System.NullReferenceException异常。以下代码对此进行了演示: Object o = new Object(); 新建一个Object对象。 Employee e = o as Employee; 将o转型为一个Employee e.ToString(); 访问e会抛出一个NullReferenceException异常 备注: as运算符类似于强制转换操作。但是无法进行转换,则as返回null而非引发异常。 示例: expression as Type它等效于以下表达式,但是只计算一次expression。 expression is Type ?(Type)expression : (Type)null 注意:as运算符只执行引用转换和装箱转换。as运算符无法执行其它转换,如果用户定义的转换,这类转换应使用强制转换表达式来执行。
随机推荐
- 联想笔记本如何关闭功能键,快捷键,如Fn+F1与F1切换
在BIOS设置界面,进入 "Configuration" 菜单,查看是否有"Hotkey mode"选项,如果有的话,您由Enable更改为Disable,然后 ...
- httpd-2.2
http://httpd.apache.org/docs/2.2/logs.html httpd.conf文件 Configuration and logfile names: If the file ...
- FASTDFS .net 客户端
FastDFS .net 客户端目前还比较少,而且使用大部分没有原生提供的方便 推荐一个比较方便的 下载地址: https://www.nuget.org/packages/NengLong.CMP. ...
- eclipse报An error has occurred,See error log for more details. java.lang.NullPointerException错误
eclipse报An error has occurred,See error log for more details. java.lang.NullPointerException错误,解决办法: ...
- 文件/目录部分处理工具类 DealDir.java
package com.util; import java.io.File; import java.util.StringTokenizer; /** * 文件/目录 部分处理 * @createT ...
- Subversion与TortoiseSVN的安装
首先介绍一下Subversion与TortoiseSVN两者之间的关系: Subversion是一种集中分享信息的系统,它的核心是版本库,储存所有的数据.版本库按照文件树形式储存数据-包括文件和目录. ...
- Java异常之checked与unchecked
首先,java的异常分为Error和Exception.这两类都是接口Throwable的子类.Error及Exception及其子类之间的关系,大致可以用下图简述. 注意事项: 1. Error仅在 ...
- 【python】python异常类型
python2: BaseException +-- SystemExit +-- KeyboardInterrupt +-- GeneratorExit +-- Exception +-- Stop ...
- PHPnow升级PHP 5.4与Mysql 5.5
本文转载自:https://www.dadclab.com/archives/5928.jiecao 折腾开始 1.安装一下VC9的运行库,下载地址:https://www.microsoft.com ...
- 【原】Centos 7 下创建LVM流程
阅读目录 个主分区,1个扩展分区] 或 [4个主分区],扩展分区又可以有多个分区: window常见的分配方式: 方式1:[1个主分区(C盘)+1个扩展分区(包括3个分区,D,E, ...