C# DERS 37: INDEXER

Bir indexleyici bir sınıfı dizi şeklinde kullanabilmek ve bu sınıftan türetilen nesneleri
dizinleyebilmek amacıyla kullanılır.
İndexerlar nesnelere dizi gibi davranabilmesini sağlar.
Tanımlanışlarıyla propertylere çok benzerler. Geri dönüş tipine sahip olmalı ve en az 1 parametre almalıdır.
Void veya static olarak tanımlanamaz.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

class IntIndexer
{
    private string[] myData;
    public IntIndexer(int size)
    {
        myData = new string[size];
        for (int i = 0; i < size; i++)
        {
            myData[i] = "Empty";
        }
    }
    public string this[int pos]
    {
        get { return myData[pos]; }
        set { myData[pos] = value; }
    }
    static void Main()
    {
        int size = 10;
        IntIndexer myInd = new IntIndexer(size);
        myInd[9] = "some value";
        myInd[3] = "another value";
        myInd[5] = "any value";
        Console.WriteLine("n Indexer Output");
        for (int i = 0; i <size; i++)
        {
            Console.WriteLine("myInd[{0}]: {1}",i,myInd[i]);
        }

    }
}