duyuruElektroArge.com'a Hoşgeldiniz. Üye Olmak İçin Tıklayın. duyuru





houseForum ana sayfa   iletişimİletişim   bilgiSSS  
kırmızı yeşil mavi
ekleKayıt  anahtarGiriş
evForum ana sayfa goE-Kütüphane goE-Ders goC#
 

  • Reklam

Ders 34 - Koleksiyonlar - IEnumerator

C Dili Dersleri - Okan Bilke

Ders 34 - Koleksiyonlar - IEnumerator

Mesajgönderen okanbilke » 04 Eki 2015 19:04

Bu bir interface tanımlamasıdır. Bu interface den yaratacığınız bir yavru değişken ile koleksiyon değerlerine tek tek erişme şansına sahip olabilirsiniz. Öncelikle nasıl kullanıldığını sizlere göstereceğim.

Resim

Şimdi yukarıdaki ekran görüntüsünü oluşturacak kodu verelim.
using System.Collections; // Ekleyin

namespace ElektroArgeDers34
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
string[] MDizi = new string[] { "A", "B", "C", "D", "E" };
IEnumerator Oku = MDizi.GetEnumerator();
while(Oku.MoveNext())
{
listBox1.Items.Add(Oku.Current.ToString());
}
}
}
}

Önceki izahatımızda dizi tanımlamalarının bir koleksiyon olmadığını belirtmiştik. Fakat uygulama açısından sonuca gidebilme mantığında çok benzerlikler bulunmaktadır. GetEnumerator methodu kullanılarak değerlerin tamamına salt okunur olarak Current özelliğiyle erişebilmeyi sağladık. Kullandığımız kodları tek tek inceleyelim:

GetEnumerator Methodu
Method interface değişkenine ait olmamakla beraber bu method sayesinde dizide (aslında koleksiyonda) yer alan tüm değerler interface değişkeninin kullanımına sunulmaktadır.
Current Özelliği
Koleksiyonda yer alan elemanlardan hangisinin aktif olduğu bu özellikte tutulur.
MoveNext Methodu
Bu method işletilerek bir sonraki elemana erişim sağlanabilmektedir.
Reset Methodu
Interface değişkeninin ilk elemanına dönmek için kullanılan methodudur.

IEnumerator interface'ini kullanarak tüm koleksiyonlarda örnek uygulama yapacağız. Bu amaçla burada konuyu kesmek istiyorum. İlerleyen derslerimizde koleksiyon değişkenlerine daha detaylı değinileceği için anlamanız daha kolay olacaktır.
okanbilke@gmail.com
Kullanıcı avatarı
okanbilke
Site Kurucusu
Site Kurucusu
 
Mesajlar: 721
Beğendiklerim: 0 mesaj
Beğenilenlerim: 0 mesaj
Kayıt: 15 Mar 2013 13:09
Konum: Ankara

Reklam

Dön C#

Kimler çevrimiçi

Bu forumu gezen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 1 misafir


  • Reklam