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

Что такое Словарь

Словарь (Dictionary<TKey, TValue>) в C# — это коллекция пар "ключ-значение", где каждый ключ уникален. Он обеспечивает быстрый поиск, добавление и удаление элементов (в среднем O(1)).

Особенности:

  • Ключи не могут быть null (для ссылочных типов), значения — могут.
  • Реализует интерфейсы IDictionary<TKey, TValue>, IEnumerable<KeyValuePair<TKey, TValue>>.
  • Порядок элементов не гарантируется.

Пример:

csharp
var capitals = new Dictionary<string, string>();
capitals.Add("Russia", "Moscow");
capitals["USA"] = "Washington"; // Альтернативное добавление

if (capitals.TryGetValue("Russia", out var capital))
{
    Console.WriteLine(capital); // Moscow
}

Нюансы:

  • При добавлении дубликата ключа — ArgumentException.
  • Для пользовательских типов в качестве ключей необходимо переопределять GetHashCode() и Equals().
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы