CodeBlanks Logo Icon CodeBlanks

Özet - Generic koleksiyonlar

C# kursu · Orta seviye · Ders 81/116

List, Dictionary ve Queue'yu birleştirerek bir görev kuyruğu yazarsın.

Özet - Generic koleksiyonlar

Bu grupta beş generic koleksiyonu derinlemesine gördün. List<T> dinamik dizi, Dictionary<K,V> hash tablo, SortedDictionary<K,V> sıralı ağaç, Queue<T> FIFO sıra, LinkedList<T> çift yönlü düğüm listesidir.

Her koleksiyon farklı bir güç için vardır: hızlı arama, sıralı gezinme, uçtan ekleme ya da bellek verimliliği. Şimdi iki küçük görevle bunları birlikte kullanacaksın.

Uygulama Listeye AddRange, sözlüğe aktar

Aşağıdaki list'e AddRange ile 4, 5, 6 ekle. Sonra list.Count'u Console.WriteLine ile yazdır.

Örnek çözümü göster
AddRange ile üç elemanı ekle, sonra Count'u yazdır.
Örnek çözüm:
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var list = new List<int> { 1, 2, 3 };
        list.AddRange(new[] { 4, 5, 6 });
        Console.WriteLine(list.Count);
    }
}

Uygulama Sözlükte ContainsKey kontrolü

Aşağıdaki prices sözlüğünde ContainsKey ile "elma" anahtarını kontrol et; sonucu Console.WriteLine ile yazdır.

Örnek çözümü göster
ContainsKey bir bool döner; sonucu WriteLine ile yazdır.
Örnek çözüm:
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var prices = new Dictionary<string, int>();
        prices.Add("elma", 5);
        prices.Add("armut", 3);
        Console.WriteLine(prices.ContainsKey("elma"));
    }
}

Koleksiyon seçimi

Doğru koleksiyonu seçmek performansı belirler. Hızlı arama için Dictionary<K,V>, sıralı gezinme için SortedDictionary<K,V>, FIFO sıra için Queue<T>, uçtan hızlı ekleme için LinkedList<T> uygundur.

Bir sonraki grupta yineleme arayüzlerini ve yield anahtar kelimesini öğreneceksin; kendi koleksiyonunu yazabileceksin.

Kendini test et

  1. Benzersiz ve sıralı anahtarlar için?

    • List<T>
    • SortedDictionary<K,V>
    • Queue<T>
    • LinkedList<T>
    Cevabı göster

    SortedDictionary<K,V> — Doğru. SortedDictionary benzersiz anahtarları sıralı tutar.

  2. Sıralı sözlüğü tamamla

    var ordered = new Sorted____<string, int>();
    Cevabı göster
    var ordered = new SortedDictionary<string, int>();

Orta seviye bölümündeki tüm dersler