知识大全 c#中的using和as操作符的详细讲解
Posted 类型
篇首语:勤勉而顽强地钻研,永远可以使你百尺竿头更进一步。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 c#中的using和as操作符的详细讲解相关的知识,希望对你有一定的参考价值。
这 个操作符在小处非常有用
using using 语句定义一个范围 在此范围的末尾将处理对象
举例 class TestUsing:IDisposable public void Dispose() Console WriteLine( Dispose ); public void Method() Console WriteLine( Do a method );
调用这个类 using(TestUsing tu=new TestUsing()) tu Method();
可以看到先后输出了Do a method和Dispose 备注 实例化的对象必须实现 System IDisposable 接口
as as 运算符用于执行可兼容类型之间的转换 as 运算符类似于类型转换 所不同的是 当转换失败时 as 运算符将产生空 而不是引发异常 在形式上 这种形式的表达式
expression as type 等效于 expression is type ? (type)expression : (type)null 只是 expression 只被计算一次
请注意 as 运算符只执行引用转换和装箱转换 as 运算符无法执行其他转换 如用户定义的转换 这类转换应使用 cast 表达式来代替其执行
举例 object [] arr=new object[ ]; arr[ ]= ; arr[ ]= test ; foreach(object o in arr) string s=(string)o; Console WriteLine(s);
这样的代码在转换类型失败的时候引发异常 代码修改成 object [] arr=new object[ ]; arr[ ]= ; arr[ ]= test ; for(int i= ;i<arr Length;i++) string s=arr[i] as string; if(s!=null)Console WriteLine(i+ : +s); 可以看到输出了 :test 虽然arr[ ]处转换失败但是没有引发异常而是返回了null
cha138/Article/program/net/201311/15616相关参考