运算符与表达式

运算符和表达式跟 C++ 中完全一致。

然而同时也添加了一些新的有用的运算符。有些在这里进行了讨论。

is 运算符 

        is 运算符是用于检查操作数类型是否相等或可以转换。

is 运算符特别适合用于多态的情形。

is 运算符使用两个操作数,其结果是布尔值。

参考例子: 

void function(object param) 

{  
    if(param is ClassA)        

         //做要做的事

 
    else if(param is MyStruct) 
        //做要做的事            

 } 

}

 as 运算符 
        as 运算符检查操作数的类型是否可转换或是相等(as 是由 is 运算符完成的),如果是,则处理结果是已转换或已装箱的对象(如果操作数可以装箱为目标类型,参考 装箱/拆箱)。

如果对象不是可转换的或可装箱的,返回值为 null。看看下面的例子以更好的理解这个概念。 

Shape shp = new Shape();  
Vehicle veh = shp as Vehicle; // 返回 null,类型不可转换 

Circle cir = new Circle();  Shape shp = cir;  
Circle cir2 = shp as Circle;  //将进行转换 

object[] objects = new object[2]; objects[0] = "Aisha";

 object[1] = new Shape(); 
string str; 
for(int i="0"; i&< objects.Length; i++)

 { 
    str = objects as string;     if(str == null) 
        Console.WriteLine("can not be converted");    

 else 
        Console.WriteLine("{0}",str); 

}  
Output: Aisha 
can not be converted   

 

 

 

posted on 2013-03-08 09:27  neights  阅读(162)  评论(0编辑  收藏  举报

导航