Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में पूरे LinkedList को ऐरे में कॉपी करना

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))
  1. C# में किसी डायरेक्टरी की पूरी सामग्री को कैसे कॉपी करें? C# में किसी डायरेक्टरी की पूरी सामग्री को कैसे कॉपी करें?

    किसी डायरेक्टरी की पूरी सामग्री को कॉपी करते समय, यह अधिक महत्वपूर्ण है कि हम उसके सब डायरेक्टरीज और संबंधित फ़ाइलों को भी कॉपी करें। उदाहरण आइए एक डेमो सोर्स डायरेक्टरी पर विचार करें जिसमें सब डायरेक्टरीज और फ़ाइलें नीचे की तरह हों। नीचे दी गई डेमो टार्गेट डायरेक्टरी है जो शुरू में खाली है।

  1. - LinkedList को ऐरे में और इसके विपरीत कन्वर्ट करने के लिए Java प्रोग्राम

    इस लेख में, हम समझेंगे कि लिंक्ड लिस्ट को ऐरे में और इसके विपरीत कैसे कन्वर्ट करें। java.util.LinkedList क्लास ऑपरेशन्स वे परफॉर्म करते हैं जो हम डबल-लिंक्ड लिस्ट के लिए उम्मीद कर सकते हैं। ऑपरेशन्स जो लिस्ट में इंडेक्स करते हैं, लिस्ट को शुरुआत या अंत से ट्रैवर्स करेंगे, जो भी निर्दिष्ट इंडेक्स के

  1. - Java में LinkedList को Array में कैसे बदलें?

    LinkedList.toArray() विधि लिंक्ड लिस्ट को एक ऐरे में बदल देती है।विधि 1: toArray() - Object[] लौटाता हैLinkedList list = new LinkedList<>(); list.add(JavaFX); list.add(Java); list.add(WebGL); Object[] objArray = list.toArray(); String[] strArray = new String[objArray.length]; for (int i = 0; i < ob