Sobes.tech
Junior

Ի՞նչ է բառարան (Dictionary) C#-ում։

sobes.tech AI

Պատասխան AI-ից

C#-да (Dictionary) — бул коллекция, которая хранит пары " ачкыч-бага", где каждый ачкыч уникален и используется для быстрого доступа к соответствующему значению. Реализует интерфейсы IDictionary<TKey, TValue>, ICollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable. Азына на хеш-таблице.

Негізгі сипаттамалары:

  • Тәртіпсіздік: Сөздіктегі элементтердің тәртібі кепілдік берілмейді және қосу/жою кезінде өзгеруі мүмкін.
  • Өнімділік: Қосу, жою және кілт бойынша іздеу операциялары орташа есеппен O(1) күрделілікке ие (идеалды жағдайда, хеш-коллизияларсыз) және ең нашар жағдайда O(n).
  • Кілттердің бірегейлігі: Әр кілт сөздікте бірегей болуы керек. Бар кілті бар элементті қосу қателікке әкеледі.

Қолдану мысалы:

// Сөздік құру
Dictionary<string, int> students = new Dictionary<string, int>();

// Элементтерді қосу
students.Add("Ivanov", 5);
students["Petrov"] = 4; // Альтернативті әдіс қосу/жаңарту

// Кілттің бар-жоғын тексеру
if (students.ContainsKey("Ivanov"))
{
    // Кілт бойынша мәнді алу
    int баға = students["Ivanov"]; // баға == 5
}

// Элементтерді қайталау
foreach (KeyValuePair<string, int> student in students)
{
    // student.Key — кілт, student.Value — мән
    Console.WriteLine($"{student.Key}: {student.Value}");
}

// Элементті жою
students.Remove("Petrov");

Басқа коллекциялармен салыстыру:

Коллекция Негізгі мақсаты Индекс бойынша қол жетімділік Кілт бойынша қол жетімділік Кілттердің бірегейлігі Тәртіптестік
List<T> Элементтердің реттілігі Иә Жоқ Жоқ Иә
HashSet<T> Бірегей элементтер жиынтығы Жоқ Жоқ Иә Жоқ
Dictionary<TKey, TValue> Жылдам іздеу үшін кілт-бағалар жұбы Жоқ Иә Иә Жоқ