is/as操作符

is/as操作符,是C#中用于类型转换的,提供了对类型兼容性的判断,从而使得类型转换控制在安全的范畴,提供了灵活的类型转换控制。

is规则:检查对象的兼容性,查看对象的类型是否完全一样,返回值 true/false.

      不会抛出异常.

    如果对象为null 则返回 false.

看代码:

 

    class A
    { }
    class Program
    {
       
        static void Main(string[] args)
        { 
            object o = new object();
            A a = null;
            if (a is A) //a为null 则返回 false
            {
                //
            }

            A a1 = new A();
            if (a1 is A) //实例化A a1  返回 true
            {
                //
            }

            if (o is A) //o不兼容 类 A  返回 false 
            {
                //
            }

        }

    }

 

 

 as的规则:

       检查对象类型的兼容性,并返回结果,如果不兼容就返回null;

    不会抛出异常。

看代码:

 

    class Program
    {
       
        static void Main(string[] args)
        {
           object o = new object();
            B ba = new B();
            B b = ba as B;
            if (b != null)  //类型兼容 返回B实例 对象
            { 
                //
            }

            B b1 = o as B;
            if (b1 != null) //类型不兼容 返回null
            {
                //
            }
        }
     }
 class B
    { }

 

 

      

is/as 最大区别就是返回值,is 返回bool; as返回对象或null

 

 

posted @ 2013-08-16 10:44  dragon.net  阅读(198)  评论(0编辑  收藏  举报