Breaking News:

C# Indexer Nedir?

Indexer, bir sınıf nesnesini array gibi kullanmamızı sağlar. Aynı zamanda struct'larda da indexer kullanabiliriz. Bir array tanımlarken o array'in ilgili indeksine nasıl değer atayıp, daha sonrasında o değeri kullanmak için indeks aracılığıyla o array üzerinden ulaşabiliyorsak, bunu indexer aracılığı ile sınıflarda da yapabiliriz. Şimdi bunu örnekle beraber anlamaya çalışalım.

İlk olarak Sınıf(eğitim odaları anlamındaki sınıf) ve Öğrenci olmak üzere iki tane class tanımlayalım. Sınıf adlı class'da indexer kullanacağım:

using System;

public class Ogrenci
{
public int Numara {get; set;}
public string Ad {get; set;}
public string Soyad {get; set;}
}

public class Sinif
{
private Ogrenci[] ogrenciler = new Ogrenci[30];

public Ogrenci this[int i]
{
get { return ogrenciler[i]; }
set { ogrenciler[i] = value; }
}
}

public class HelloWorld
{
public static void Main(string[] args)
{
Sinif sinif12b = new Sinif();
sinif12b[0] = new Ogrenci() {
Numara = 384,
Ad = "Saltuk",
Soyad = "Balaban",
};

// çıktı: Saltuk
Console.WriteLine(sinif12b[0].Ad);
}
}

Hiç yorum yok:

Blogger tarafından desteklenmektedir.