C#中as的用法

c# 中 as 用法 :

 m3 = m1 as MyClass1;

这句代码等价于:

 MyClass1 m3;

 if (m1 is MyClass1) {
     m3 = (MyClass1)m1;
  } else {
      m3 = null;
  }

意思是判断实例对象是否属于某个类

完整代码:

class MyBase { }
class MyClass1 : MyBase { }
class MyClass2 : MyBase { }
class Program {
    static void Main(string[] args) {

        MyBase m1 = new MyClass1();

        MyClass1 m3;

        if (m1 is MyClass1) {
            m3 = (MyClass1)m1;
        } else {
            m3 = null;
        }

        m3 = m1 as MyClass1;

        Console.WriteLine("ok");
        Console.ReadKey();
    }
}

你可能感兴趣的:(C#中as的用法)