您的位置:首页 > 编程语言 > C#

『框架设计(第2版)CLR Via C#』学习笔记——使用is和as操作符来进行强制类型转换

2008-07-03 23:51 876 查看
is操作符是检查一个对象是不是兼容于指定的类型,并返回一个Boolean值:true或false。因此is操作符永远不会抛出异常。

例如如下代码:

Object o = new Object();

Boolean b1 = (o is Object); //b1 is true

Boolean b2 = (o is Student); //b2 is false
如果对象是null引用,则总是返回false。

那么as是用来干吗的哪?还是让我们先来看一段代码吧:

if (o is Student)

Student s = o as Student;

if (s != null)

{

// do rest things

}
这里就只检查了一次,CLR核实o是否兼容于Student类型,如果是,则返回对同一个对象的一个非null的引用。如果不兼容于Student类型,as操作符就会返回null。这里需要说明一下if语句只是检查s是否为null,这个过程相较于校验对象的类型,这个检查能更快的执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: