Sözlük, anahtar/değer çiftlerini saklamanıza izin veren kullanışlı bir veri yapısıdır. Anahtarını kullanarak sözlükten bir değere verimli bir şekilde erişebilirsiniz.

C#'daki sözlükler, bir değeri kaldırma veya tüm değer kümesi üzerinde yineleme gibi eylemleri destekler.

C#'da Sözlük Nedir?

C# sözlüğü bunlardan biridir. en önemli veri yapıları hakkında bilgi edinebilirsiniz. Biraz Java HashMap veri yapısına benziyor. Anahtarları benzersiz olmalıdır, ancak hemen hemen her türden olabilirler. Basit bir sözlük skaler değerler kullanır.

Örneğin, bu veri kümesinde anahtar olarak bir evcil hayvanın kimliği ve değer olarak evcil hayvanın adı bulunur:

{1001, "Mia"},
{1002, "Oskar"},
{1003, "Kuş"},
{1004, "Mavi"},
{1005, "Aslan"},
{1006, "Travis"}

Bu yapı, bir kayda atıfta bulunan belirli anahtarı kullanarak verilere erişmenizi sağlar. Örneğin, değeri olan kaydı alabilirsiniz. kuş arama tuşuyla referans vererek 1003.

Sözlük Nasıl Oluşturulur

Sözlük oluşturmak için hem anahtar hem de değer için nesne türünü belirtmeniz gerekir.

instagram viewer
  1. Sözlüğü oluşturun. Bu örnekte, anahtar bir tamsayıdır ve her kaydın değeri bir dizedir.
    sözlük<int, sicim> evcil hayvanlar = yeni sözlük<int, sicim>();
  2. kullanmanız gerekecek Sistem. Koleksiyonlar. Genel Dictionary sınıfını içeren ad alanı. Bunu dosyanızın en üstünde yaptığınızdan emin olun:
    kullanarak Sistem. Koleksiyonlar. Genel;

Sözlüğe Öğeler Nasıl Eklenir

Başlatma sırasında veya sonrasında sözlüğe öğeler ekleyebilirsiniz.

  1. Sözlüğü başlatırken öğeler ekleyebilirsiniz. Bunu yapmak için, ilk yeni Sözlük ifadesinden sonra küme parantezleri içinde bazı değerler ekleyin.
    sözlük<int, sicim> evcil hayvanlar = yeni sözlük<int, sicim>()
    {
    {1001, "Mia"},
    {1002, "Oskar"},
    {1003, "Kuş"},
    {1004, "Mavi"},
    {1005, "Aslan"},
    {1006, "Travis"}
    };
  2. Sözlüğü zaten oluşturduysanız, sözlüğün yerleşik Add() yöntemini kullanabilirsiniz.
    Evcil Hayvanlar. Ekle(1007, "Kar yağışlı");

Zaten var olan bir anahtar için değer ekleyemezsiniz. Bunu yapmaya çalışırsanız, bir ArgumentException elde edersiniz.

kullanamazsınız boş sözlükteki bir giriş için anahtar olarak değer. Ancak, bir sözlükte boş bir değer saklayabilirsiniz.

Sözlüğe Nesneler Nasıl Eklenir

bir o kullanıyorsanıznesne yönelimli programlama stiline sahipseniz, muhtemelen nesneler oluşturmak için kullandığınız en az bir sınıfınız vardır. Evcil hayvanlarla ilgili ayrıntıları saklayan bir sınıfınız olduğunu varsayalım:

Bu sınıftan oluşturulan nesneleri bir sözlüğe ekleyebilirsiniz.

  1. Değer için belirtilen Pet nesne türüyle sözlüğü oluşturduğunuzdan emin olun.
    sözlük<int, Evcil Hayvan> evcil hayvannesneleri = yeni sözlük<int, Evcil Hayvan>();
  2. Evcil hayvan nesnenizi oluşturun.
    evcil hayvan mia = yeni Evcil Hayvan(1001, "Mia", yeni TarihSaat(2010, 6, 29), 9.0,
    yeni TarihSaat(2022, 05, 02));
  3. Yeni evcil hayvan nesnesini sözlüğe ekleyin.
    evcil hayvanNesneleri. Ekle(1001, mia);

Sözlükteki Bir Öğeye Nasıl Erişilir

Anahtarı kullanarak sözlükteki bir öğeye erişebilirsiniz.

  1. Sözlük için değişken adını ve ardından bir çift köşeli parantezin etrafındaki anahtarı kullanın. Bu, sözlüğün o bölümünde saklanan nesneyi döndürür.
    var evcil hayvan = evcil hayvanNesneleri[1001];
    Konsol. WriteLine (evcil hayvan adı);

Sözlük Üzerinde Yineleme Nasıl Yapılır?

kullanabilirsiniz her biri için bir sözlük üzerinde yineleme yapmak için döngü:

  1. Sözlükteki her bir KeyValuePair üzerinde yineleme yapmak için bir foreach kullanın. Yineleyicinizi aradığınızı varsayarsak girişkullanarak anahtara ve değere erişebilirsiniz. giriş. Anahtar ve giriş. Değer.
    her biri için (AnahtarDeğer Çifti<int, Evcil Hayvan> giriş içinde evcil hayvan nesneleri)
    {
    // anahtarı yazdır
    Konsol. WriteLine (giriş. Anahtar);

    // o kayıt için nesnenin adını yazdır
    Konsol. WriteLine (giriş. değer.adı);
    }

Sözlükte Bir Öğe Nasıl Güncellenir

Bir öğeyi sözlükteki değerinin üzerine yazarak güncelleyebilirsiniz.

  1. Sözlüğünüzde basit nesne türleri varsa, doğrudan bir kaydın değerinin üzerine yazabilirsiniz.
    Evcil Hayvanlar[1001] = "Maya";
  2. Sözlüğünüze nesneler eklediyseniz, tamamen yeni bir nesneye bir değerin üzerine yazabilirsiniz.
    evcil tavşan = yeni Evcil Hayvan(1001, "Tavşan", yeni TarihSaat(2021, 8, 1), 3.0, yeni TarihSaat(2021, 8, 4));
    evcil hayvannesneleri[1001] = tavşan;
  3. Sözlükte bir nesneniz varsa, tek bir özelliği de güncelleyebilirsiniz. Özelliğin değerinin üzerine doğrudan yazabilir veya bir ayarlayıcı kullanabilirsiniz.
    evcil hayvannesneleri[1001].name = "Maya";
    // VEYA
    evcil hayvannesneleri[1001].setName("Maya");

Sözlükte Bir Öğe Nasıl Silinir

Tek bir öğeyi veya tüm öğeleri silmeyi seçebilirsiniz.

  1. Tek bir öğeyi silmek için sözlüğün Yerleşik Remove() yöntemini kullanın. Argüman olarak silmek istediğiniz kaydın anahtarını girin.
    evcil hayvanNesneleri. Kaldırmak(1002);
  2. Sözlükteki tüm öğeleri silmek için sözlüğün Yerleşik Clear() yöntemini kullanın.
    evcil hayvanNesneleri. Açık();

C#'da Veri Yapıları

Bu öğretici, C#'da nasıl sözlük oluşturulacağını ve sözlüğe nasıl öğe ekleneceğini ele aldı. Ek olarak, sözlüğün nasıl güncelleneceğini, silineceğini ve yineleneceğini de ele aldı.

Veri yapısı kelime dağarcığınızı geliştirmek istiyorsanız, daha gelişmiş veri yapılarını keşfetmeye başlayabilirsiniz. Bunların bazı örnekleri arasında Fibonacci Yığını, AVL Ağacı veya Kırmızı Kara Ağaç bulunur.

Her Programcının Bilmesi Gereken 3 Gelişmiş Veri Yapısı

Sonrakini Oku

PaylaşmakCıvıldamakPaylaşmakE-posta

İlgili konular

  • Programlama
  • Sözlük
  • Programlama

Yazar hakkında

Sharlene Von Drehnen (14 Makale Yayınlandı)

Sharlene, MUO'da Teknoloji Yazarıdır ve ayrıca Yazılım Geliştirme alanında tam zamanlı olarak çalışmaktadır. BT lisans derecesine sahiptir ve daha önce Kalite Güvencesi ve Üniversitede özel ders tecrübesine sahiptir. Sharlene oyun oynamayı ve piyano çalmayı sever.

Sharlene Von Drehnen'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın