C#基础语法:as 运算符使用实例
as运算符类似于强制转换操作。但是,如果无法进行转换,则as返回null而非引发异常。
as运算符只执行引用转换和装箱转换。as运算符无法执行其他转换,如用户定义的转换,这类转换应使用强制转换表达式来执行。
expressionastype
等效于(但只计算一次expression)
expressionistype?(type)expression:(type)null
as运算符用于在兼容的引用类型之间执行转换。例如:
//cs_keyword_as.cs //Theasoperator. usingSystem; classClass1 { } classClass2 { } classMainClass { staticvoidMain() { object[]objArray=newobject[6]; objArray[0]=newClass1(); objArray[1]=newClass2(); objArray[2]="hello"; objArray[3]=123; objArray[4]=123.4; objArray[5]=null; for(inti=0;i<objArray.Length;++i) { strings=objArray[i]asstring; Console.Write("{0}:",i); if(s!=null) { Console.WriteLine("'"+s+"'"); } else { Console.WriteLine("notastring"); } } } } //=============================================================// 0:notastring 1:notastring 2:'hello' 3:notastring 4:notastring 5:notastring