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 42 - Generic Classlar - Dictionary

C Dili Dersleri - Okan Bilke

Ders 42 - Generic Classlar - Dictionary

Mesajgönderen okanbilke » 10 Kas 2015 22:53

Sözlük veya benzeri işlemlerde kullanılan "Generic" sınıftır. Gönderilen birinci parametre "key" ismi, ikinci parametre ise o "key" e ait değer olacaktır.
Add
Nesneye eleman eklemek için kullanılan methoddur. Eklenen elemanın tipi "Object" olacaktır. Aşağıdaki örnek uygulama, komutun uygulanması olayını göstermektedir.
using System.Collections.Generic;  // Ekleyin
private void button1_Click(object sender, EventArgs e)
{
Dictionary<String, String> YeniSozluk = new Dictionary<string, string>();
YeniSozluk.Add("İşletim Sistemi", "Windows10");
YeniSozluk.Add("Program", "C#.Net");
YeniSozluk.Add("Eğitmen", "Okan Bilke");
}

İstenilen Elemanın İçeriğini Yazdırmak
Belirtmiştik sınıf içerisindeki ilk eleman "key" ismi, ikincisi ise o "key"e ait değer olacaktır. Aşağıdaki şekilde, belirtilen key elemanının içeriği kolayca öğrenilebilir.
private void button1_Click(object sender, EventArgs e)
{
Dictionary<String, String> YeniSozluk = new Dictionary<string, string>();
YeniSozluk.Add("İşletim Sistemi", "Windows10");
YeniSozluk.Add("Program", "C#.Net");
YeniSozluk.Add("Eğitmen", "Okan Bilke");
this.Text = YeniSozluk["Eğitmen"];
}

Keys
Sınıf değişkenine ait tüm "key" değerlerini elde etmek için kullanılan komuttur. Aşağıdaki şekilde kolayca kullanabilirsiniz.
private void button1_Click(object sender, EventArgs e)
{
Dictionary<String, String> YeniSozluk = new Dictionary<string, string>();
YeniSozluk.Add("İşletim Sistemi", "Windows10");
YeniSozluk.Add("Program", "C#.Net");
YeniSozluk.Add("Eğitmen", "Okan Bilke");
foreach (String Eleman in YeniSozluk.Keys)
{
MessageBox.Show(Eleman);
}
}

Values
Nesneye ait eklenmiş tüm "key"lerin değerlerini gösteren komuttur. Yani belirtilen "key" değeri ile nesneye eklenmiş elemanın içeriklerini döndürecektir. Aşağıdaki şekilde kolayca kodlanabilir. Bu tür uygulamalarda foreach döngüsü mükemmel derecede kullanışlı olmaktadır.
private void button1_Click(object sender, EventArgs e)
{
Dictionary<String, String> YeniSozluk = new Dictionary<string, string>();
YeniSozluk.Add("İşletim Sistemi", "Windows10");
YeniSozluk.Add("Program", "C#.Net");
YeniSozluk.Add("Eğitmen", "Okan Bilke");
foreach (String Eleman in YeniSozluk.Keys)
{
listBox1.Items.Add(Eleman);
}
foreach (String Eleman in YeniSozluk.Values)
{
listBox2.Items.Add(Eleman);
}
}

Resim
Dikkat edin birinci listede key isimleri, ikinci listede ise o keye ait değerler listelenmiştir.

IDictionaryEnumerator
Aşağıdaki şekilde Dictionary sınıf değişkenine ait değerleri sayısallaştırarak ister "key" ister o key'e ait içeriği elde edebilirsiniz.
using System.Collections; // Eklemeyi Unutmayın
using System.Collections.Generic; // Eklemeyi Unutmayın
private void button1_Click(object sender, EventArgs e)
{
Dictionary<String, String> YeniSozluk = new Dictionary<string, string>();
YeniSozluk.Add("İşletim Sistemi", "Windows10");
YeniSozluk.Add("Program", "C#.Net");
YeniSozluk.Add("Eğitmen", "Okan Bilke");
//
IDictionaryEnumerator DiziOku = YeniSozluk.GetEnumerator();
while(DiziOku.MoveNext())
{
listBox1.Items.Add(DiziOku.Current.ToString());
}
}

Şayet sadece "key" değerlerini elde etmek isterseniz o zaman kodunuzu aşağıdaki şekilde değiştirmelisiniz.
private void button1_Click(object sender, EventArgs e)
{
Dictionary<String, String> YeniSozluk = new Dictionary<string, string>();
YeniSozluk.Add("İşletim Sistemi", "Windows10");
YeniSozluk.Add("Program", "C#.Net");
YeniSozluk.Add("Eğitmen", "Okan Bilke");
//
IDictionaryEnumerator DiziOku = YeniSozluk.GetEnumerator();
while(DiziOku.MoveNext())
{
listBox1.Items.Add(DiziOku.Key);
}
}

Dilerseniz aşağıdaki şekilde "key" ve içeriklerini ayrı ayrı yazdırabilirsiniz.
private void button1_Click(object sender, EventArgs e)
{
Dictionary<String, String> YeniSozluk = new Dictionary<string, string>();
YeniSozluk.Add("İşletim Sistemi", "Windows10");
YeniSozluk.Add("Program", "C#.Net");
YeniSozluk.Add("Eğitmen", "Okan Bilke");
//
IDictionaryEnumerator DiziOku = YeniSozluk.GetEnumerator();
while(DiziOku.MoveNext())
{
listBox1.Items.Add(DiziOku.Key);
listBox2.Items.Add(DiziOku.Value);
}
}

Remove
Nesneden eleman silmek için kullanılan methoddur. Parametre olarak key isimlerinden aktarmalısınız(birinci parametrelerden).
private void button1_Click(object sender, EventArgs e)
{
Dictionary<String, String> YeniSozluk = new Dictionary<string, string>();
YeniSozluk.Add("İşletim Sistemi", "Windows10");
YeniSozluk.Add("Program", "C#.Net");
YeniSozluk.Add("Eğitmen", "Okan Bilke");
YeniSozluk.Remove("Eğitmen"); // sil
}
okanbilke@gmail.com
Kullanıcı avatarı
okanbilke
Site Kurucusu
Site Kurucusu
 
Mesajlar: 720
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
cron