电の岁月---点滴记忆
交流,分享,进步

is的规则如下:

  • 检查对象类型的兼容性,并返回结果,true或者false;

  • 不会抛出异常;

  • 如果对象为null,则返回值永远为false。

 

object o = new object();
class A
{
}
if (o is A) //执行第一次类型兼容检查
{
A a
= (A) o; //执行第二次类型兼容检查
}

 

 

as的规则如下:

  • 检查对象类型的兼容性,并返回结果,如果不兼容就返回null;

  • 不会抛出异常;

  • 如果结果判断为空,则强制执行类型转换将抛出NullReferenceException异常。

 

object o = new object();
class B
{

}
B b
= o as B; //执行一次类型兼容检查
if (b != null)
{
MessageBox.Show(
"b is B's instance.");
}

 

posted on 2010-09-01 19:32  doucontorl  阅读(200)  评论(0编辑  收藏  举报