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