Речникът е полезна структура от данни, която ви позволява да съхранявате двойки ключ-стойност. Можете да получите ефективен достъп до стойност от речника, като използвате неговия ключ.

Речниците в C# поддържат действия като премахване на стойност или повторение на целия набор от стойности.

Какво е речник в C#?

Речникът на C# е един от най-важните структури от данни можете да научите за. Това е малко като структурата от данни на Java HashMap. Неговите ключове трябва да са уникални, но могат да бъдат от почти всякакъв тип. Прост речник използва скаларни стойности.

Например, този набор от данни има идентификационен номер на домашен любимец като ключ и името на домашния любимец като стойност:

{1001, "Миа"},
{1002, "Оскар"},
{1003, "Птичка"},
{1004, "Синьо"},
{1005, "Лъв"},
{1006, "Травис"}

Тази структура ви позволява да получите достъп до данни, като използвате конкретния ключ, който препраща към запис. Например, можете да извлечете записа със стойността Птиче като го препратите с ключа за търсене 1003.

instagram viewer

Как да създадете речник

За да създадете речник, трябва да посочите типа обект както за ключа, така и за стойността.

  1. Създайте речника. В този пример ключът е цяло число, а стойността за всеки запис е низ.
    Речник<международен, низ> домашни любимци = нов Речник<международен, низ>();
  2. Ще трябва да използвате Система. Колекции. Генеричен пространство от имена, което съдържа класа Dictionary. Уверете се, че го правите в горната част на файла си:
    използвайки Система. Колекции. генеричен;

Как да добавяте елементи към речника

Можете да добавяте елементи към речника по време или след неговото инициализиране.

  1. Можете да добавяте елементи, докато инициализирате речника. За да направите това, добавете някои стойности в къдрави скоби след първоначалния нов израз на речника.
    Речник<международен, низ> домашни любимци = нов Речник<международен, низ>()
    {
    {1001, "Миа"},
    {1002, "Оскар"},
    {1003, "Птичка"},
    {1004, "Синьо"},
    {1005, "Лъв"},
    {1006, "Травис"}
    };
  2. Ако вече сте създали речника, можете да използвате вградения в речника метод Add().
    домашни любимци. Добавяне (1007, "Снежно");

Не можете да добавите стойност за ключ, който вече съществува. Ако се опитате да го направите, ще получите ArgumentException.

Не можете да използвате a нула стойност като ключ за запис в речник. Въпреки това, можете да съхранявате нулева стойност в речник.

Как да добавяте обекти към речника

Ако използвате oобектно-ориентирано програмиране style, вероятно имате поне един клас, който използвате за създаване на обекти. Да речем, че имате клас, който съхранява подробности за домашни любимци:

Можете да добавяте обекти, създадени от този клас, към речник.

  1. Уверете се, че сте създали речника с типа Pet обект, посочен за стойността.
    Речник<международен, Pet> petObjects = нов Речник<международен, Домашен любимец>();
  2. Създайте своя домашен любимец.
    Pet mia = нов Домашен любимец(1001, "Миа", нов Време за среща(2010, 6, 29), 9.0,
    нов Време за среща(2022, 05, 02));
  3. Добавете новия домашен любимец към речника.
    домашни любимци. Добавяне (1001, миа);

Как да получите достъп до елемент в речника

Можете да получите достъп до елемент в речника с помощта на ключа.

  1. Използвайте името на променливата за речника, последвано от ключа около чифт квадратни скоби. Това ще върне обекта, съхранен в тази конкретна част от речника.
    вар домашен любимец = домашни любимци[1001];
    Конзола. WriteLine (име на домашни любимци);

Как да преглеждате речника

Можете да използвате a за всеки цикъл, за да преминете през речник:

  1. Използвайте foreach, за да итерирате всяка KeyValuePair в речника. Ако приемем, че сте извикали своя итератор влизане, можете да получите достъп до ключа и стойността, като използвате влизане. Ключ и влизане. Стойност.
    за всеки (KeyValuePair<международен, Pet> запис в домашни любимци)
    {
    // отпечатайте ключа
    Конзола. WriteLine (вход. Ключ);

    // отпечатаме името на обекта за този запис
    Конзола. WriteLine (вход. стойност.име);
    }

Как да актуализирате елемент в речник

Можете да актуализирате елемент, като презапишете стойността му в речника.

  1. Ако имате прости типове обекти във вашия речник, можете директно да презапишете стойност на запис.
    домашни любимци[1001] = "Мая";
  2. Ако сте добавили обекти към вашия речник, можете да презапишете стойност в напълно нов обект.
    Домашно зайче = нов Домашен любимец(1001, "зайче", нов Време за среща(2021, 8, 1), 3.0, нов Време за среща(2021, 8, 4));
    домашни любимци[1001] = зайче;
  3. Ако имате обект в речника, можете също да актуализирате едно свойство. Можете да презапишете стойността на свойството директно или да използвате задаване.
    домашни любимци[1001].name = "Мая";
    // ИЛИ
    домашни любимци[1001].setName("Мая");

Как да изтриете елемент в речник

Можете да изберете да изтриете един или всички елементи.

  1. За да изтриете един елемент, използвайте вградения метод Remove() на речника. Въведете ключа на записа, който искате да изтриете като аргумент.
    домашни любимци. Премахване(1002);
  2. За да изтриете всички елементи в речника, използвайте вградения метод Clear() на речника
    домашни любимци. Изчисти();

Структури от данни в C#

Този урок обхваща как да създадете речник в C# и как да добавяте елементи към речника. Освен това, той също така обхваща как да актуализирате, изтриете и преглеждате речника.

Ако искате да подобрите речника си за структурата на данни, можете да започнете да изследвате по-усъвършенствани структури от данни. Някои примери за тях включват купчината на Фибоначи, AVL дървото или червено черно дърво.

3 усъвършенствани структури от данни, които всеки програмист трябва да знае

Прочетете Следващото

ДялтуитДялелектронна поща

Свързани теми

  • Програмиране
  • Речник
  • Програмиране

За автора

Шарлин фон Дренен (публикувани 14 статии)

Шарлийн е технически писател в MUO и също така работи на пълен работен ден в разработката на софтуер. Тя има бакалавърска степен по ИТ и предишен опит в осигуряването на качество и преподаване в университета. Шарлийн обича да играе и да свири на пиано.

Още от Sharlene Von Drehnen

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, ревюта, безплатни електронни книги и ексклузивни оферти!

Щракнете тук, за да се абонирате