BitArray.Clone() মেথড ব্যবহার করে BitArray-এর একটি শ্যালো কপি (shallow copy) তৈরি করা যায়। এটি একটি নতুন BitArray অবজেক্ট রিটার্ন করে যার বিট প্যাটার্ন মূল অ্যারের সাথে একই থাকে। যেহেতু BitArray মান প্রকারের (value type) বিট ধারণ করে, শ্যালো কপি কার্যকরভাবে একটি গভীর কপি (deep copy) হিসেবে কাজ করে।
উদাহরণ ১: দুটি বিটের শ্যালো কপি
using System;
using System.Collections;
public class Demo {
public static void Main() {
BitArray arr1 = new BitArray(5);
arr1[0] = false;
arr1[1] = true;
Console.WriteLine("BitArray দৈর্ঘ্য = " + arr1.Length);
Console.WriteLine("BitArray প্রথম উপাদান = " + arr1.Get(0));
Console.WriteLine("BitArray দ্বিতীয় উপাদান = " + arr1.Get(1));
BitArray arr2 = (BitArray)arr1.Clone();
Console.WriteLine("\nBitArray2 দৈর্ঘ্য = " + arr2.Length);
Console.WriteLine("BitArray2 প্রথম উপাদান = " + arr2.Get(0));
Console.WriteLine("BitArray2 দ্বিতীয় উপাদান = " + arr2.Get(1));
}
}
আউটপুট
BitArray দৈর্ঘ্য = 5 BitArray প্রথম উপাদান = False BitArray দ্বিতীয় উপাদান = True BitArray2 দৈর্ঘ্য = 5 BitArray2 প্রথম উপাদান = False BitArray2 দ্বিতীয় উপাদান = True
উদাহরণ ২: পূর্ণ BitArray কপি এবং এনামারেশন
using System;
using System.Collections;
public class Demo {
public static void Main() {
BitArray arr1 = new BitArray(5);
arr1[0] = false;
arr1[1] = true;
arr1[2] = false;
arr1[3] = true;
arr1[3] = true; // অপ্রয়োজনীয় ডুপ্লিকেট অ্যাসাইনমেন্ট
Console.WriteLine("BitArray দৈর্ঘ্য = " + arr1.Length);
Console.WriteLine("BitArray1-এ উপাদানসমূহ...");
foreach(Object obj in arr1) {
Console.WriteLine(obj);
}
BitArray arr2 = (BitArray)arr1.Clone();
Console.WriteLine("\nBitArray2 দৈর্ঘ্য = " + arr1.Length); // টাইপো: arr2.Length হওয়া উচিত
Console.WriteLine("BitArray2-এ উপাদানসমূহ...");
foreach(Object obj in arr2) {
Console.WriteLine(obj);
}
}
}
আউটপুট
BitArray দৈর্ঘ্য = 5 BitArray1-এ উপাদানসমূহ... False True False True False BitArray2 দৈর্ঘ্য = 5 BitArray2-এ উপাদানসমূহ... False True False True False
দ্রষ্টব্য: উদাহরণ ২-এ `arr1[3] = true` দুবার লেখা হয়েছে (সূচক ৪ খালি থাকে)। এছাড়া `arr1.Length` এর বদলে `arr2.Length` ব্যবহার করা উচিত ছিল। Clone()-এর পর দুটি BitArray সম্পূর্ণ স্বতন্ত্র।