C sharp da anahtar değer / key value veri yapıları

  1. askinglr34
    13
    70
    10.7.2018 16:19:00

    C # da koleksiyonlar içinde mi yoksa veri yapıları içinde mi aramalıyım bilemedim fakat , sormak istediğim key value çifti olarak bir yapı kullanmak istiyorum , neler var ne tavsiye edersiniz ?

    c# .net 8 gün önce 138 Görüntüleme

( 3 ) Cevap

  1. cavitemre
    11
    1020
    10.7.2018 16:30:00

    System.Collections.Generic altında Dictionary<TKey,TValue> var , ancak bunu internette araştırırken bulman o kadar da çok zor değil aslında.

    Dictionary kullanımı için burada bir örnek var; https://code.replyfeed.com/sorular/22/c-sharp-dictionary-siralama-value-ye-gore

  2. deniz
    11
    862
    10.7.2018 16:48:00

    Yine System.Collections.Generic altında KeyValuePair<TKey,TValue> de var

    List<KeyValuePair<string, int>> keyValuePairs = new List<KeyValuePair<string, int>>()
    {
        new KeyValuePair<string, int>("Adana", 01),
        new KeyValuePair<string, int>("Ankara", 06),
        new KeyValuePair<string, int>("İstanbul",34),
    };
    
    keyValuePairs.Insert(0, new KeyValuePair<string, int>("İzmir", 35));
    
    foreach (KeyValuePair<string, int> kv in keyValuePairs)
    {
        Console.WriteLine(string.Format("Key: {0} Value: {1}", kv.Key, kv.Value));
    }
    
    var result = keyValuePairs.Where(kv => kv.Key == "Ankara").FirstOrDefault();
    Console.WriteLine(result.Value);
    
  3. Snoopy
    12
    3543
    10.7.2018 17:07:00

    Kullanım amacına bağlı , mesela bende bir örnek vereyim SortedDictionary<TKey,TValue> .Ve bunu Dictionary<TKey,TValue> ile karşılatırayım.

    SortedDictionary her zaman key e göre sıralı dır , anahtara göre sıralı olmasını istediğiniz durumlarda işinize yarayabilir.Fakat arama performansı Dictionary den daha kötüdür.

    SortedDictionary kullanımı;

    SortedDictionary<string, int> sort =
        new SortedDictionary<string, int>();
    
    sort.Add("Ali", 70);
    sort.Add("Veli", 98);
    sort.Add("Seda", 75);
    sort.Add("Ayşe", 90);
    sort.Add("Ahmed", 100);
    
    foreach (var item in sort)
    {
        Console.WriteLine(item.Key+"-"+item.Value);
    }
    

    sorteddictionarye_ornek

Cevabınız