1. 程式人生 > >C#基礎:陣列(物件陣列)

C#基礎:陣列(物件陣列)

陣列實現位System.Array類的例項,實現了IList,ICollection,IEnumerable介面,陣列一旦建立大小固定,不能新增,刪除元素。

  1.  public abstract class Animal//父類,抽象類
  2.     {
  3.         private string name;
  4.         public string Name
  5.         {
  6.             set { this.name = value; }
  7.             get { return this.name; }
  8.         }
  9.         public Animal() {
  10.             this.name = "the animal no name";
  11.         }
  12.         public Animal(string name) {
  13.             this.name = name;
  14.         }
  15.         public void Feed() => Console.WriteLine($"{name} has been fed");
  16.     }
  17. //子類繼承自Animal
  18.  class Chicken:Animal
  19.     {
  20.         public Chicken(string name) : base(name) { }
  21.         public void LayEgg() => Console.WriteLine($"{Name} has been Lay an Egg");
  22.     } 
  23. //子類繼承自Animal
  24. class Cow:Animal
  25.     {
  26.         public Cow(string name) : base(name) { }
  27.         public void Milk() => Console.WriteLine($"{Name}has been Milked");
  28.     } 
  29. static void Main(string[] args){
  30.             Animal[] animalArray = new Animal[2];//定義陣列,長度為2
  31.             Cow myCow1 = new Cow("Lea");
  32.             animalArray[0] = myCow1;//給陣列賦值
  33.             animalArray[1] = new Chicken("Noa");
  34.             foreach (Animal myAnimal in animalArray)//foreach迴圈輸出陣列內容
  35.             {
  36.                 Console.WriteLine($"New{myAnimal.ToString()}" + $" Name={myAnimal.Name}");
  37.             }
  38.             Console.WriteLine(animalArray.Length);//陣列的長度
  39.             //多型
  40.             (animalArray[0]).Feed();
  41.             ((Chicken)animalArray[1]).LayEgg();