System.Array ใช้อินเทอร์เฟซ เช่น ICloneable, IList, ICollection และ IEnumerable เป็นต้น อินเทอร์เฟซ ICloneable จะสร้างสำเนาของวัตถุที่มีอยู่ เช่น โคลน
ให้เราดูเรียนรู้เกี่ยวกับอินเทอร์เฟซ ICloneable มันมีเมธอด Clone() เท่านั้นเพราะมันสร้างวัตถุใหม่ที่เป็นสำเนาของอินสแตนซ์ปัจจุบัน
ต่อไปนี้คือตัวอย่างที่แสดงวิธีการโคลนโดยใช้อินเทอร์เฟซแบบแยกส่วนได้ -
ตัวอย่าง
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); } }
ให้เรามาดูวิธีการใช้ Array.Clone ใน C# เพื่อโคลนอาร์เรย์ -
ตัวอย่าง
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(); } }