System.Array ইন্টারফেস বাস্তবায়ন করে, যেমন ICloneable, IList, ICollection, এবং IEnumerable ইত্যাদি। ICloneable ইন্টারফেস একটি বিদ্যমান অবজেক্টের একটি কপি তৈরি করে অর্থাৎ একটি ক্লোন।
ICloneable ইন্টারফেস
এটিতে শুধুমাত্র Clone() মেথড থাকে কারণ এটি বর্তমান ইনস্ট্যান্সের একটি কপি হিসেবে একটি নতুন অবজেক্ট তৈরি করে।
ICloneable ব্যবহার করে ক্লোনিং উদাহরণ
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 ব্যবহার করে অ্যারে ক্লোন করা
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();
}
}