知识大全 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

相关参考