ArrayList.ToArray() मेथड ArrayList की सामग्री की एक नई कॉपी बनाकर object[] ऐरे के रूप में लौटाता है। यह CopyTo() से अलग है क्योंकि यह नया ऐरे आवंटित करता है बजाय मौजूदा ऐरे में कॉपी करने के।
उदाहरण 1: स्ट्रिंग ArrayList को ऐरे में कॉपी करना
using System;
using System.Collections;
public class Demo {
public static void Main() {
ArrayList list = new ArrayList(10);
list.Add("A");
list.Add("B");
list.Add("C");
list.Add("D");
list.Add("E");
list.Add("F");
list.Add("G");
list.Add("H");
list.Add("I");
list.Add("J");
Console.WriteLine("ArrayList तत्व...");
foreach (string str in list) {
Console.WriteLine(str);
}
// ToArray() से नया ऐरे बनाएं
object[] arr = list.ToArray();
Console.WriteLine("\nArrayList से कॉपी किए गए ऐरे तत्व...");
foreach (string str in arr) {
Console.WriteLine(str);
}
}
}
आउटपुट
ArrayList तत्व...
A
B
C
D
E
F
G
H
I
J
ArrayList से कॉपी किए गए ऐरे तत्व...
A
B
C
D
E
F
G
H
I
J
उदाहरण 2: इंटीजर ArrayList को ऐरे में कॉपी करना
using System;
using System.Collections;
public class Demo {
public static void Main() {
ArrayList list = new ArrayList(10);
list.Add(100);
list.Add(200);
list.Add(300);
Console.WriteLine("ArrayList तत्व...");
foreach (int val in list) {
Console.WriteLine(val);
}
object[] arr = list.ToArray();
Console.WriteLine("\nArrayList से कॉपी किए गए ऐरे तत्व...");
foreach (int val in arr) {
Console.WriteLine(val);
}
}
}
आउटपुट
ArrayList तत्व...
100
200
300
ArrayList से कॉपी किए गए ऐरे तत्व...
100
200
300
ToArray() बनाम CopyTo()
| विशेषता | ToArray() | CopyTo() |
|---|---|---|
| नया ऐरे बनाता है | हां | नहीं (मौजूदा ऐरे उपयोग करता है) |
| लौटाता है | object[] | void |
| प्रारंभिक इंडेक्स निर्दिष्ट करें | नहीं (हमेशा 0 से) | हां |
| प्रकार-सुरक्षित ऐरे | नहीं (object[]) | हां (यदि सही ऐरे प्रकार दिया जाए) |
प्रकार-सुरक्षित ऐरे प्राप्त करने के लिए
// जेनेरिक List<T> के साथ ToArray() उपयोग करें (अनुशंसित)
List<string> list = new List<string>() { "A", "B", "C" };
string[] arr = list.ToArray(); // string[] लौटाता है, object[] नहीं
नोट
नए कोड के लिए ArrayList के बजाय List<T> उपयोग करने की अनुशंसा की जाती है क्योंकि यह प्रकार-सुरक्षित है और बेहतर प्रदर्शन देता है।