typeof,as,is的用法

来源:互联网 发布:linux 没法解压tar.gz 编辑:程序博客网 时间:2024/06/03 21:59

typeof用法
用于获取类型的 System.Type 对象
typeof的表达有一下形式

System.Type type = typeof(int);

若要获取表达式的运行时类型,可以使用 .NET Framework 方法 GetType,如下所示:

int i = 0;System.Type type = i.GetType();

typeof 运算符也能用于公开的泛型类型。具有不止一个类型参数的类型的规范中必须有适当数量的逗号。不能重载 typeof 运算符。

as和is
在C#语言中进行类型转换的操作符is和as。is和as都是强制类型转换。
is检查一个对象是否兼容于指定的类型,并返回一个Boolean值:true或者fasle。注意,is操作符永远不会抛出异常。

Object o=new Object();Boolean b1=(o is Object); //b1为true. Boolean b2=(o is ClassA) ; b2为false.如果对象引用是null,is操作符总是返回false,因为没有可检查的其类型的对象。 is 操作符通常像下面这样使用:if(obj is ClassA){    ClassA a=(ClassA) obj;   ...  }

as与is做差不多的事情,类型显式强制转换。
as操作符的工作方式与强制类型转换一样,只是它永远不会抛出一个异常——相反,如果对象不能转换,结果就是null。

原创粉丝点击