Встречается на 27% собеседований по C#

Какие знаешь виды коллекций

В C# коллекции делятся на две категории: обобщённые (System.Collections.Generic) и необобщённые (System.Collections). Основные:

1. Обобщённые:

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

2. Необобщённые (устаревшие, лучше избегать):

  • ArrayList – аналог List<object>.
  • Hashtable – аналог Dictionary<object, object>.

Пример:

csharp
var list = new List<int> { 1, 2, 3 };
var dict = new Dictionary<string, int> { ["one"] = 1 };
var set = new HashSet<int> { 1, 2, 2 }; // Будет {1, 2}
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы