Назад к вопросам
Senior
7
Какие структуры данных (контейнеры) знаешь в C#? Когда какой использовать?
Компании, где спрашивали
Сбербанк
Ответ от нейросети
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
}