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

C# में Indexers क्या हैं?

C# Indexers: ऑब्जेक्ट को Array की तरह Index करना

इंडेक्सर (Indexer) एक विशेष सिंटैक्स है जो किसी क्लास या स्ट्रक्चर के ऑब्जेक्ट को एरे की तरह [] ऑपरेटर का उपयोग करके एक्सेस करने की अनुमति देता है। यह आंतरिक डेटा स्ट्रक्चर (जैसे एरे, लिस्ट, डिक्शनरी) को एनकैप्सुलेट करता है और कस्टम एक्सेस लॉजिक प्रदान करता है।

Indexer का सिंटैक्स

<element-type> this[<parameter-list>] {
    get {
        // इंडेक्स के आधार पर वैल्यू लौटाएं
    }
    set {
        // इंडेक्स के आधार पर वैल्यू सेट करें
    }
}

उदाहरण: कस्टम NameList क्लास में Indexer

using System;

class NameList {
    private string[] names;
    public int Size { get; }

    public NameList(int size) {
        Size = size;
        names = new string[size];
        for (int i = 0; i < size; i++) names[i] = "N/A";
    }

    // Indexer डिक्लेरेशन
    public string this[int index] {
        get {
            if (index >= 0 && index < Size) return names[index];
            return ""; // या throw new IndexOutOfRangeException();
        }
        set {
            if (index >= 0 && index < Size) names[index] = value;
        }
    }
}

class Program {
    static void Main() {
        NameList list = new NameList(10);
        list[0] = "Tom";
        list[1] = "Jacob";
        list[2] = "Jack";
        // ... अधिक नाम जोड़ें

        for (int i = 0; i < list.Size; i++) {
            Console.WriteLine(list[i]);
        }
    }
}

आउटपुट

Tom
Jacob
Jack
Amy
Katy
Taylor
Brad
Scarlett
James
N/A

मुख्य बिंदु

  • इंडेक्सर this कीवर्ड का उपयोग करते हैं।
  • ये get और set एक्सेसर्स के साथ रीड-ओनली, राइट-ओनली या रीड-राइट हो सकते हैं।
  • एक क्लास में एकाधिक इंडेक्सर हो सकते हैं (ओवरलोडिंग) अलग-अलग पैरामीटर टाइप्स के साथ (जैसे string, int)।
  • स्ट्रिंग इंडेक्स के साथ डिक्शनरी-स्टाइल एक्सेस के लिए उपयोगी: var val = myObj["key"];
  1. - C# में डायनामिक ऐरे क्या हैं

    डायनामिक ऐरे ग्रोएबल ऐरे हैं और स्टैटिक ऐरे पर लाभ रखते हैं। ऐसा इसलिए है क्योंकि ऐरे का साइज़ फिक्स्ड होता है। C# में ऐरे डायनामिकली बनाने के लिए, ArrayList कलेक्शन का उपयोग करें। यह एक ऑब्जेक्ट के ऑर्डर्ड कलेक्शन को दर्शाता है जिसे इंडिविजुअली इंडेक्स किया जा सकता है। यह डायनामिक मेमोरी आवंटन, लिस

  1. - C# में कॉन्टेक्स्चुअल कीवर्ड्स क्या हैं

    C# में, कुछ आइडेंटिफायर्स कोड के संदर्भ में विशेष अर्थ रखते हैं, जैसे get और set को कॉन्टेक्स्चुअल कीवर्ड्स कहा जाता है। निम्नलिखित टेबल कॉन्टेक्स्चुअल कीवर्ड्स दिखाती है - कॉन्टेक्स्चुअल कीवर्ड्स add alias ascending descending dynamic from get global group into join let orderby partial (ty

  1. - C# में कंडीशनल अट्रिब्यूट्स क्या हैं

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