Indexer (Indeksleyici) Nedir, Nasıl Kullanılır?


Class’ın içindeki ögelere array(dizi) gibi erişmek için kullanılır. Yani Class’a dizi özelliği katar.
  • İstenilen her sınıf dizi gibi kullanılabilir.
  • Private,public,protected ve internal olarak tanımlanabilirler
  • Uygun tipte Değer almaları gerekir, aksi taktirde derleyici hata verecektir.
  • Class’a dizi özelliği katar.
Kullanım Şekli
       
  public int this [int i] 
  {
      get //sadece okunabilir
      { 
          return i; 
      }
      set //sadece yazılabilir
      { 
          i = value; 
      }
  }
Basit bir örnekle Indexer'ı tamamlayalım. AnaSinif.cs Sınıfına
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Indexers
{
    class AnaSinif
    {
        private string[] sirala = new string[5];
        public string this[int index]//indexer tanimlama
        {
            get
            {
                return sirala[index];
            }
            set
            {
                sirala[index] = value; // degeri varsayilan olarak gönderilen değer olarak ayarlama işlemi
            }
        }
    }
}
Program.cs içine
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Indexers
{
    class Program
    {
        static void Main(string[] args)
        {
            AnaSinif dizi = new AnaSinif();
            dizi[0] = "Ocak";
            dizi[1] = "Subat";
            dizi[2] = "Mart";
            dizi[3] = "Nisan";
            dizi[4] = "Mayıs";
            Console.WriteLine("{0}\n{1}\n{2}\n{3}\n{4}\n", dizi[0], dizi[1], dizi[2], dizi[3], dizi[4]);/*dizi degelerini yazdirma islemini yapar.*/
            Console.ReadLine();
        }
    }
}
     

Leave a reply


Powered by themekiller.com