LinkedList<T>.CopyTo() मेथड लिंक्ड लिस्ट के सभी तत्वों को एक-आयामी ऐरे में कॉपी करता है। तत्व लिंक्ड लिस्ट के क्रम में (हेड से टेल) कॉपी होते हैं।
उदाहरण 1: इंडेक्स 0 से कॉपी करना (ऐरे लिस्ट से बड़ा)
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
LinkedList<int> list = new LinkedList<int>();
list.AddLast(100);
list.AddLast(200);
list.AddLast(300);
// 5 आकार का ऐरे (लिस्ट से बड़ा)
int[] arr = new int[5];
// इंडेक्स 0 से कॉपी करें
list.CopyTo(arr, 0);
Console.WriteLine("ऐरे तत्व (इंडेक्स 0 से कॉपी)...");
foreach (int val in arr) {
Console.WriteLine(val);
}
}
}
आउटपुट
ऐरे तत्व (इंडेक्स 0 से कॉपी)...
100
200
300
0
0
उदाहरण 2: ऑफसेट इंडेक्स से कॉपी करना
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
LinkedList<int> list = new LinkedList<int>();
list.AddLast(100);
list.AddLast(200);
list.AddLast(300);
// 10 आकार का ऐरे, इंडेक्स 4 से कॉपी करें
int[] arr = new int[10];
list.CopyTo(arr, 4);
Console.WriteLine("ऐरे तत्व (इंडेक्स 4 से कॉपी)...");
foreach (int val in arr) {
Console.WriteLine(val);
}
}
}
आउटपुट
ऐरे तत्व (इंडेक्स 4 से कॉपी)...
0
0
0
0
100
200
300
0
0
0
मुख्य बिंदु
CopyTo(T[], int)- जेनेरिक प्रकार-सुरक्षित ऐरे कॉपी।- कॉपी क्रम: हेड से टेल (पहला नोड → इंडेक्स 0, अंतिम नोड → इंडेक्स Count-1)।
- लक्ष्य ऐरे
T[]प्रकार का होना चाहिए। - आवश्यक:
index + list.Count ≤ array.Length, अन्यथाArgumentException। - मूल LinkedList अपरिवर्तित रहता है।
- खाली स्लॉट्स में डिफ़ॉल्ट मान होते हैं (int के लिए 0, रेफरेंस टाइप के लिए null)।
LinkedList बनाम List<T> कॉपी
| पहलू | LinkedList<T> | List<T> |
|---|---|---|
| CopyTo मेथड | हां | हां |
| ToArray मेथड | नहीं | हां (नया ऐरे बनाता है) |
| कॉपी क्रम | हेड टू टेल | इंडेक्स 0 टू Count-1 |
| रैंडम एक्सेस | नहीं (O(n)) | हां (O(1)) |