परिचय
C# में Stack.CopyTo() मेथड Stack के तत्वों को मौजूदा एक-आयामी ऐरे में कॉपी करता है, निर्दिष्ट ऐरे सूचकांक से शुरू करके। तत्व LIFO क्रम (ऊपर से नीचे) में कॉपी किए जाते हैं।
सिंटैक्स
public virtual void CopyTo(Array array, int index);
array गंतव्य एक-आयामी ऐरे है, और index वह सूचकांक है जहां कॉपी शुरू होती है।
उदाहरण 1: इंटीजर स्टैक के साथ क्लोन और कॉपी
using System;
using System.Collections;
public class Demo {
public static void Main() {
Stack stack = new Stack();
stack.Push(150);
stack.Push(300);
stack.Push(500);
stack.Push(750);
stack.Push(1000);
stack.Push(1250);
stack.Push(1500);
stack.Push(2000);
stack.Push(2500);
Console.WriteLine("स्टैक तत्व...");
foreach (int val in stack) {
Console.WriteLine(val);
}
Console.WriteLine("तत्वों की संख्या = " + stack.Count);
Console.WriteLine("क्या 750 स्टैक में है? = " + stack.Contains(750));
stack.Push(3000);
Console.WriteLine("\nस्टैक तत्व...अपडेटेड");
foreach (int val in stack) {
Console.WriteLine(val);
}
Console.WriteLine("तत्वों की संख्या (अपडेटेड) = " + stack.Count);
Console.WriteLine("क्या 5000 स्टैक में है? = " + stack.Contains(5000));
Stack stack2 = (Stack)stack.Clone();
Console.WriteLine("\nस्टैक तत्व...क्लोन");
foreach (int val in stack2) {
Console.WriteLine(val);
}
Console.WriteLine("क्लोन स्टैक में तत्वों की संख्या (अपडेटेड) = " + stack2.Count);
Console.WriteLine("\nक्लोन स्टैक को इंटीजर ऐरे में कॉपी करना...");
int[] intArr = new int[stack2.Count];
stack2.CopyTo(intArr, 0);
foreach (int j in intArr) {
Console.WriteLine(j);
}
}
}
आउटपुट
स्टैक तत्व... 2500 2000 1500 1250 1000 750 500 300 150 तत्वों की संख्या = 9 क्या 750 स्टैक में है? = True स्टैक तत्व...अपडेटेड 3000 2500 2000 1500 1250 1000 750 500 300 150 तत्वों की संख्या (अपडेटेड) = 10 क्या 5000 स्टैक में है? = False स्टैक तत्व...क्लोन 3000 3500 3000 2500 2000 1500 1250 1000 750 500 300 150 क्लोन स्टैक में तत्वों की संख्या (अपडेटेड) = 12 क्लोन स्टैक को इंटीजर ऐरे में कॉपी करना... 3000 2500 2000 1500 1250 1000 750 500 300 150
उदाहरण 2: स्ट्रिंग स्टैक
using System;
using System.Collections;
public class Demo {
public static void Main() {
Stack stack = new Stack();
stack.Push("Projectors");
stack.Push("Monitors");
stack.Push("XPS");
stack.Push("Laptop");
stack.Push("Notebook");
Console.WriteLine("स्टैक तत्व...");
foreach (string val in stack) {
Console.WriteLine(val);
}
Console.WriteLine("तत्वों की संख्या = " + stack.Count);
Console.WriteLine("क्या XPS स्टैक में है? = " + stack.Contains("XPS"));
stack.Push("Ultrabook");
Console.WriteLine("\nस्टैक तत्व...अपडेटेड");
foreach (string val in stack) {
Console.WriteLine(val);
}
Console.WriteLine("तत्वों की संख्या (अपडेटेड) = " + stack.Count);
Console.WriteLine("क्या Ultrabook स्टैक में है? = " + stack.Contains("Ultrabook"));
Stack stack2 = (Stack)stack.Clone();
Console.WriteLine("\nस्टैक तत्व...क्लोन");
foreach (string val in stack2) {
Console.WriteLine(val);
}
Console.WriteLine("तत्वों की संख्या (अपडेटेड) = " + stack2.Count);
Console.WriteLine("\nक्लोन स्टैक को स्ट्रिंग ऐरे में कॉपी करना...");
string[] strArr = new string[stack2.Count];
stack2.CopyTo(strArr, 0);
foreach (string j in strArr) {
Console.WriteLine(j);
}
}
}
आउटपुट
स्टैक तत्व... Notebook Laptop XPS Monitors Projectors तत्वों की संख्या = 5 क्या XPS स्टैक में है? = True स्टैक तत्व...अपडेटेड Ultrabook Notebook Laptop XPS Monitors Projectors तत्वों की संख्या (अपडेटेड) = 6 क्या Ultrabook स्टैक में है? = True स्टैक तत्व...क्लोन Ultrabook Notebook Laptop XPS Monitors Projectors तत्वों की संख्या (अपडेटेड) = 6 क्लोन स्टैक को स्ट्रिंग ऐरे में कॉपी करना... Ultrabook Notebook Laptop XPS Monitors Projectors
मुख्य बिंदु
- तत्व LIFO क्रम में कॉपी किए जाते हैं (स्टैक के शीर्ष से शुरू)।
- गंतव्य ऐरे में पर्याप्त स्थान होना चाहिए (
index + Count <= array.Length)। - जेनेरिक
Stack<T>के लिएCopyTo(T[], int)ओवरलोड उपलब्ध है। - मूल स्टैक अपरिवर्तित रहता है।