C#’ta Dictionary Kullanımı

Merhabalar.

Bu yazıda temel manada C#’ta dictionary kullanımından bahsetmeye çalışacağım.

Fırsat bulursam ileride daha detaylı ele almayı düşünüyorum.

Nedir?

Adından anlaşılacağı üzere sözlüğe benzetilen, key-value ikilisini içeren “generic” bir yapı.

Tanımı şu şekilde yapılır:


Dictionary<TKey, TValue> d = new Dictionary<TKey, TValue>();

Buradaki hem key hem de value kısmı herhangi bir obje(primitive tipler, nesne, delege/metod vb.) alabilir.

Aşağıda basit bir örnek var:


using System;

using System.Collections.Generic;

class Program
{
    static void Main()
    {
        Dictionary<int, string> d = new Dictionary<int, string>(){
            {1,"Ahmet"},
            {2, "Mehmet"},
            {3,"Muhammed"}};

        Console.WriteLine(d[1]);
    }
}

Çıktı: Ahmet

Üstte söylediğim gibi key ve value kısımlarına farklı objeler set edilebilir.

Örneğin oluşturduğumuz bir “Musteri” sınıfının nesnesini set edelim:


using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
         Musteri must1 = new Musteri(1, "Muhammed", "Hilmi");
         Musteri must2 = new Musteri(7, "Ahmet", "Koca");
         Musteri must3 = new Musteri(12, "Mehmet", "Kara");
         Musteri must4 = new Musteri(15, "Mustafa", "Kılıç");

         Dictionary<int, Musteri> musteri = new Dictionary<int, Musteri>();

         musteri.Add(must1.Id, must1);
         musteri.Add(must2.Id, must2);
         musteri.Add(must3.Id, must3);
         musteri.Add(must4.Id, must4);

         Console.WriteLine("Id : " + 1 + ", Ad : " + musteri[1].Ad + ", Soyad : " + musteri[1].Soyad);
}

public class Musteri
{
    public Musteri(int id,string ad,string soyad)
    {
        Id = id;
        Ad = ad;
        Soyad = soyad;
    }
    public int Id { get; set; }
    public string Ad { get; set; }
    public string Soyad { get; set; }
}

Çıktı: Id : 1,Ad : Muhammed, Soyad : Hilmi

 

 Bu sayfa 2604 kez görüntülendi

It's only fair to share...Share on LinkedInShare on FacebookShare on Google+Tweet about this on TwitterShare on Tumblr
Benzer Konular

Yorum Yap


Not - Bunları KullanabilirsinizHTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>