Sobes.tech
Back to questions
Senior
8

Какие структуры данных (контейнеры) знаешь в C#? Когда какой использовать?

Companies where asked
Сбербанк

Answer from AI

sobes.tech AI

В C# есть несколько основных структур данных:

  • List<T> — динамический массив, подходит для хранения упорядоченных данных с быстрым доступом по индексу.
  • Dictionary<TKey, TValue> — хеш-таблица для быстрого поиска по ключу.
  • HashSet<T> — множество уникальных элементов, эффективно для проверки наличия элемента.
  • Queue<T> — очередь FIFO, когда важен порядок обработки.
  • Stack<T> — стек LIFO, для обратного порядка обработки.
  • LinkedList<T> — двусвязный список, удобен для частых вставок и удалений в середине коллекции.

Выбор зависит от задачи: если нужен быстрый доступ по индексу — List, если поиск по ключу — Dictionary, если уникальность — HashSet, если порядок обработки — Queue или Stack.

Пример использования Dictionary:

var dict = new Dictionary<string, int>();
dict["apple"] = 3;
if (dict.ContainsKey("apple")) {
    Console.WriteLine(dict["apple"]); // 3
}