WEB开发网
开发学院软件开发C语言 10个鲜为人知的C#关键字 阅读

10个鲜为人知的C#关键字

 2010-09-30 21:05:59 来源:WEB开发网   
核心提示: 在2.0版本上跑的程序也可以使用var关键字,但是需要你的编译器是3.0以上版本并且设置代码输出版本为2.0:vari=10;//implicitlytypedinti=10;//explicitlytypedMSDN链接:http://msdn.microsoft.com/en-us/libr

在2.0版本上跑的程序也可以使用var关键字,但是需要你的编译器是3.0以上版本并且设置代码输出版本为2.0:

var i = 10; // implicitly typed 
 
int i = 10; //explicitly typed

MSDN链接:http://msdn.microsoft.com/en-us/library/bb383973.aspx

using()

定义一个范围,在范围外的对象将会被回收:

using (C c = new C()) 
 
{ 
 
  c.UseLimitedResource(); 
 
}

MSDN链接:http://msdn.microsoft.com/en-us/library/yh598w02%28VS.80%29.aspx

readonly

readonly关键字是一个可作用在变量域上的修饰符,当一个变量域被readonly修饰后,这个变量只可在声明或者当前变量所属类的构造器内赋值。

MSDN链接:http://msdn.microsoft.com/en-us/library/acdd6hb7%28VS.80%29.aspx

as

as操作符很像一个类型转换器,然和,当转换无法发生时(译者按:比如类型不匹配),as会返回null而不是抛出一个异常:

class Class1{ } 
 
classClass2{ } 
 
classClass3: Class2{ } 
 
classIsTest 
 
  { 
 
    static voidTest(objecto) 
 
    { 
 
      Class 1a; 
 
      Class 2b; 
 
      if(o isClass1) 
 
      { 
 
        Console.WriteLine("o is Class1"); 
 
        a = (Class1)o; 
 
        // Do something with "a." 
 
      } 
 
      else if (o is Class2) 
 
      { 
 
        Console.WriteLine("o is Class2"); 
 
        b = (Class2)o; 
 
        // Do something with "b." 
 
      } 
 
      else 
 
      { 
 
        Console.WriteLine("o is neither Class1 nor Class2."); 
 
      } 
 
    } 
 
    static void Main() 
 
    { 
 
      Class1 c1 = new Class1(); 
 
      Class2 c2 = new Class2(); 
 
      Class3 c3 = new Class3(); 
 
      Test(c1); 
 
      Test(c2); 
 
      Test(c3); 
 
      Test("a string"); 
 
    } 
 
  } 
 
  /* 
 
  Output: 
 
  o is Class1 
 
  o is Class2 
 
  o is Class2 
 
  o is neither Class1 nor Class2. 
 
  */

Tags:鲜为人知 关键字

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接