खोज…


वाक्य - विन्यास

  • सार्वजनिक रिटर्न टाइप करें यह [IndexType index] {get {...} सेट {...}}

टिप्पणियों

अनुक्रमणिका के साथ किसी ऑब्जेक्ट की संपत्ति तक पहुंचने के लिए अनुक्रमणिका सरणी-प्रकार सिंटैक्स की अनुमति देता है।

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

एक साधारण अनुक्रमणिका

class Foo
{
    private string[] cities = new[] { "Paris", "London", "Berlin" };

    public string this[int index]
    {
        get {
            return cities[index];
        }
        set {
            cities[index] = value;
        }
    }
}

उपयोग:

    var foo = new Foo();

    // access a value    
    string berlin = foo[2];

    // assign a value
    foo[0] = "Rome";

डेमो देखें

2 तर्कों और इंटरफ़ेस के साथ अनुक्रमणिका

interface ITable { 
    // an indexer can be declared in an interface
    object this[int x, int y] { get; set; }
}

class DataTable : ITable
{
    private object[,] cells = new object[10, 10];

    /// <summary>
    /// implementation of the indexer declared in the interface
    /// </summary>
    /// <param name="x">X-Index</param>
    /// <param name="y">Y-Index</param>
    /// <returns>Content of this cell</returns>
    public object this[int x, int y]
    {
        get
        {
            return cells[x, y];
        }
        set
        {
            cells[x, y] = value;
        }
    }
}

SparseArray बनाने के लिए अनुक्रमणिका को ओवरलोड करना

अनुक्रमणिका को ओवरलोड करके आप एक ऐसा वर्ग बना सकते हैं जो एक सरणी की तरह दिखता है और महसूस करता है लेकिन ऐसा नहीं है। इसमें O (1) प्राप्त करने और सेट करने के तरीके होंगे, सूचकांक 100 पर एक तत्व तक पहुंच सकते हैं, और अभी भी इसके अंदर के तत्वों का आकार है। SparseArray वर्ग

class SparseArray
    {
        Dictionary<int, string> array = new Dictionary<int, string>();

        public string this[int i]
        {
            get
            {
                if(!array.ContainsKey(i))
                {
                    return null;
                }
                return array[i];
            }
            set
            {
                if(!array.ContainsKey(i))
                    array.Add(i, value);
            }
        }
    }


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow