Computer >> Máy Tính >  >> Lập trình >> C#

Các giao diện được thực hiện bởi lớp Array trong C # là gì?

System.Array triển khai các giao diện, như ICloneable, IList, ICollection và IEnumerable, v.v. Giao diện ICloneable tạo ra một bản sao của đối tượng hiện có, tức là một bản sao.

Hãy để chúng tôi xem tìm hiểu về giao diện ICloneable. Nó chỉ có các phương thức Clone () vì nó tạo một đối tượng mới là bản sao của phiên bản hiện tại.

Sau đây là một ví dụ cho thấy cách thực hiện sao chép bằng giao diện ICloneable -

Ví dụ

using System;

class Car : ICloneable {
   int width;

   public Car(int width) {
      this.width = width;
   }

   public object Clone() {
      return new Car(this.width);
   }

   public override string ToString() {
      return string.Format("Width of car = {0}",this.width);
   }
}

class Program {
   static void Main() {
      Car carOne = new Car(1695);
      Car carTwo = carOne.Clone() as Car;

      Console.WriteLine("{0}mm", carOne);
      Console.WriteLine("{0}mm", carTwo);
   }
}

Bây giờ chúng ta hãy xem cách sử dụng Array.Clone trong C # để sao chép một mảng -

Ví dụ

using System;

class Program {
   static void Main() {
      string[] arr = { "one", "two", "three", "four", "five" };
      string[] arrCloned = arr.Clone() as string[];

      Console.WriteLine(string.Join(",", arr));

      // cloned array
      Console.WriteLine(string.Join(",", arrCloned));
      Console.WriteLine();
   }
}