ArrayList.SetRange(int index, ICollection c) মেথড ব্যবহার করে একটি সংগ্রহ (collection) এর উপাদানগুলো ArrayList-এর নির্দিষ্ট সূচক থেকে শুরু করে ওভাররাইট করা যায়। এটি নির্দিষ্ট পরিসীমার উপাদানগুলো প্রতিস্থাপন করে। সোর্স কালেকশনের আকার লক্ষ্য পরিসীমার সাথে মেলতে হবে।
উদাহরণ ১: সূচক ০ থেকে শুরু করে প্রতিস্থাপন
using System;
using System.Collections;
public class Demo {
public static void Main() {
ArrayList arrList = new ArrayList();
arrList.Add("A");
arrList.Add("B");
arrList.Add("C");
arrList.Add("D");
Console.WriteLine("ArrayList উপাদানসমূহ...");
for (int i = 0; i < arrList.Count; i++) {
Console.WriteLine("" + arrList[i]);
}
string[] str = { "Demo", "Text" };
arrList.SetRange(0, str); // সূচক ০ থেকে ২টি উপাদান প্রতিস্থাপন
Console.WriteLine("কপি করার পর...");
for (int i = 0; i < arrList.Count; i++) {
Console.WriteLine("" + arrList[i]);
}
}
}
আউটপুট
ArrayList উপাদানসমূহ... A B C D কপি করার পর... Demo Text C D
উদাহরণ ২: সূচক ২ থেকে শুরু করে প্রতিস্থাপন
using System;
using System.Collections;
public class Demo {
public static void Main() {
ArrayList arrList = new ArrayList();
arrList.Add("One");
arrList.Add("Two");
arrList.Add("Three");
arrList.Add("Four");
arrList.Add("Five");
arrList.Add("Six");
arrList.Add("Seven");
arrList.Add("Eight");
Console.WriteLine("ArrayList উপাদানসমূহ...");
for (int i = 0; i < arrList.Count; i++) {
Console.WriteLine("" + arrList[i]);
}
string[] str = { "Demo", "Text" };
arrList.SetRange(2, str); // সূচক ২ থেকে ২টি উপাদান প্রতিস্থাপন
Console.WriteLine("কপি করার পর...");
for (int i = 0; i < arrList.Count; i++) {
Console.WriteLine("" + arrList[i]);
}
}
}
আউটপুট
ArrayList উপাদানসমূহ... One Two Three Four Five Six Seven Eight কপি করার পর... One Two Demo Text Five Six Seven Eight
দ্রষ্টব্য: SetRange() লক্ষ্য ArrayList-এর আকার পরিবর্তন করে না, শুধুমাত্র বিদ্যমান উপাদানগুলো ওভাররাইট করে। সোর্স কালেকশনের Count লক্ষ্য পরিসীমার চেয়ে বড় হলে ArgumentException হবে। আধুনিক C#-এ List<T>.GetRange() বা LINQ ব্যবহার করা ভালো।