Stack<T>.CopyTo(T[] array, int index) মেথড ব্যবহার করে স্ট্যাকের উপাদানগুলো একটি অ্যারেতে কপি করা যায়। কপির ক্রম স্ট্যাকের এনামারেশন ক্রমের সাথে মিলে (শীর্ষ থেকে তললগত)। লক্ষ্য অ্যারেতে নির্দিষ্ট সূচক থেকে কপি শুরু হয়।
উদাহরণ ১: পূর্ণ কপি (সূচক ০, অ্যারে আকার = Stack.Count)
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
Stack<int> stack = new Stack<int>();
stack.Push(10);
stack.Push(20);
stack.Push(30);
stack.Push(40);
stack.Push(50);
stack.Push(60);
stack.Push(70);
stack.Push(80);
stack.Push(90);
stack.Push(100);
Console.WriteLine("স্ট্যাক প্রদর্শন...");
foreach(int val in stack) {
Console.WriteLine(val);
}
int[] intArr = new int[stack.Count];
stack.CopyTo(intArr, 0);
Console.WriteLine("অ্যারে প্রদর্শন...");
foreach(int val in intArr) {
Console.WriteLine(val);
}
}
}
আউটপুট
স্ট্যাক প্রদর্শন... 100 90 80 70 60 50 40 30 20 10 অ্যারে প্রদর্শন... 100 90 80 70 60 50 40 30 20 10
উদাহরণ ২: বড় অ্যারেতে অফসেট ২ সহ কপি
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
Stack<int> stack = new Stack<int>();
stack.Push(10);
stack.Push(20);
stack.Push(30);
stack.Push(40);
stack.Push(50);
Console.WriteLine("স্ট্যাক প্রদর্শন...");
foreach(int val in stack) {
Console.WriteLine(val);
}
int[] intArr = new int[10];
stack.CopyTo(intArr, 2); // সূচক ২ থেকে শুরু
Console.WriteLine("অ্যারে প্রদর্শন...");
foreach(int val in intArr) {
Console.WriteLine(val);
}
}
}
আউটপুট
স্ট্যাক প্রদর্শন... 50 40 30 20 10 অ্যারে প্রদর্শন... 0 0 50 40 30 20 10 0 0 0
দ্রষ্টব্য: Stack.CopyTo() শীর্ষের উপাদান থেকে শুরু করে কপি করে। লক্ষ্য অ্যারে বড় হলে অতিরিক্ত উপাদানগুলো ডিফল্ট মান (int-এর জন্য ০) ধারণ করে।