C# Dictionary Nedir?
Dictionary, C#’ta anahtar-değer çiftleri ile verileri düzenleyen güçlü bir koleksiyon yapısıdır. Bu yapı, benzersiz anahtarlarla hızlı erişim sağlar ve özellikle büyük veri kümelerini yönetmek için idealdir.
Dictionary Kullanımının Temel Özellikleri
- Anahtar-Değer Çiftleri: Her eleman, bir anahtar ve buna bağlı bir değer içerir. Bu, verileri gruplandırmayı ve hızlı erişimi mümkün kılar.
- Hızlı Erişim: Anahtarlar sayesinde verilere doğrudan ulaşabilirsiniz. Örneğin, ürün stok bilgileri gibi senaryolar için idealdir.
- Esneklik: Kendi sınıflarınızı oluşturarak, daha karmaşık veri yapıları için dictionary kullanabilirsiniz.
Dictionary ile Çalışmanın Öne Çıkan Metotları
Veri Ekleme ve Erişim
Dictionary’ye eleman eklemek için Add
veya indeksleme yöntemi kullanılır.
Dictionary<string, int> stoklar = new Dictionary<string, int>();
stoklar["laptop"] = 15; // Laptop anahtarı ile 15 stok eklendi.
ContainsKey ve ContainsValue
Bir anahtarın veya değerin var olup olmadığını kontrol etmek için kullanılır.
bool anahtarVar = stoklar.ContainsKey("laptop"); // Çıktı: true
bool degerVar = stoklar.ContainsValue(15); // Çıktı: true
TryGetValue
Anahtarın varlığını kontrol eder ve değeri güvenli bir şekilde döndürür.
if (stoklar.TryGetValue("laptop", out int stokMiktari))
{
Console.WriteLine($"Stok Miktarı: {stokMiktari}");
}
Karmaşık Veri Yapıları ile Dictionary Kullanımı
Bir sınıf oluşturarak dictionary içinde nesneler saklayabilirsiniz. Örneğin, ürün bilgilerini saklamak için bir Product
sınıfı tanımlayabilirsiniz.
class Product
{
public string Name { get; set; }
public decimal Price { get; set; }
}
Dictionary<int, Product> urunler = new Dictionary<int, Product>
{
{1, new Product { Name = "Telefon", Price = 5000 }},
{2, new Product { Name = "Tablet", Price = 3000 }}
};
Bu yöntem, karmaşık veri yapılarını düzenlemek ve projelerde daha etkili veri yönetimi sağlamak için idealdir.
Dictionary ile Güçlü Uygulamalar Geliştirin
C#’ta dictionary yapısını öğrenmek, projelerinizde verileri daha verimli bir şekilde organize etmenize ve işlemenize olanak tanır. Özellikle karmaşık projelerde, anahtar-değer mantığı ile oluşturulan bu yapı, hem hız hem de esneklik sağlar.