数组的协变

在某些情况下,即使某个对象不是数组的基类型,我们也可以吧它赋值给数组元素.这种属性叫做协变(covariance).在下面情况下可以用协变:
数组是引用的类型数组
在赋值对象类型和数组基类型之间有隐式或者显示的转换

eg:

class A{......};
class B:A{.......};

class Progam
{
 static void Main()
 {
  A[] AArray1 =new A[3];
  A[] AArray2 = new A[3];
  
  AArray1[0]=new A();AArray1[1]=new A();AArray1[2]=new A();
  //协变,
  AArray2[0] = new B();AArray2[1] = new B();AArray2[2] = new B();
 }
}

原文地址:https://www.cnblogs.com/hankskfc/p/1897105.html