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 35 - Koleksiyonlar - IEnumerable

C Dili Dersleri - Okan Bilke

Ders 35 - Koleksiyonlar - IEnumerable

Mesajgönderen okanbilke » 04 Eki 2015 19:18

Bu interface koleksiyonu komple ifade etmek için kullanılır. IEnumerable değişkenini IEnumerator değişkeni ile kullanarak kolayca değerleri elde edebilirsiniz.
using System.Collections; // Ekleyin

namespace ElektroArgeDers35
{
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" };
IEnumerable Komple = MDizi; // Komple Aktarılıyor
IEnumerator Oku = Komple.GetEnumerator();
while(Oku.MoveNext())
{
listBox1.Items.Add(Oku.Current.ToString());
}
}
}
}

Bu örnekte dikkat edecek olursanız MDizi isimli string tipte dizi değişkene ait tüm değerler Komple isimli IEnumerable interface değişkenine eşitlenmiştir. Şayet aktarılacak olan koleksiyonun tipi tam olarak belli ise o zaman aşağıdaki şekilde bir kodlama daha doğru olacaktır.
using System.Collections; // Ekleyin

namespace ElektroArgeDers35
{
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" };
IEnumerable<string> Komple = MDizi; // string tip
IEnumerator Oku = Komple.GetEnumerator();
while(Oku.MoveNext())
{
listBox1.Items.Add(Oku.Current.ToString());
}
}
}
}

IEnumerable<string> tanımlaması kafanızı karıştırmasın. Öncekinden tek farkı, koleksiyonun string tipten ibaret olduğunun önceden belirtilmesidir. Daha sonraki bölümlerden (özellikle LINQ konusunda) daha detaylı örnekler vereceğiz.
Burada belirtmekte yarar görüyorum şayet koleksiyon aşağıdaki şekilde int tipli olsa idi kullanacağımız kodlama aşağıdaki şekilde olacaktı.
using System.Collections; // Ekleyin

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

private void button1_Click(object sender, EventArgs e)
{
int[] TDizi = new int[] { 10, 20, 40, 30 };
IEnumerable<int> Komple = TDizi; // Tam Sayı
IEnumerator Oku = Komple.GetEnumerator();
while(Oku.MoveNext())
{
listBox1.Items.Add(Oku.Current.ToString());
}
}
}
}
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