Назад к задачам
Junior — Senior
12

Поведение Dictionary при использовании собственного типа ключа

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Какое действие выполняет данная программа и какой вывод появится на консоли?

using static System.Console;

try
{
    var dictionary = new Dictionary<Key, int>();

    var firstKey = new Key(5);
    dictionary[firstKey] = 42;

    var secondKey = new Key(5);
    WriteLine($"M0: {dictionary[secondKey]}");
}
catch { }

sealed class Key
    {
        public long InnerKey {get;}

        public Key(long value)
        {
            InnerKey = value;
        }

        public override int GetHashCode()
            => HashCode.Combine(InnerKey);
    }