Чтение frozen-коллекции в C#
Замороженный словарь читают методом TryGetValue. Он либо отдаёт значение, либо сообщает, что такого ключа нет.
Меняющих методов у замороженного словаря нет. Если пары не было в момент заморозки, она не появится сама.
Прочитаем существующий и отсутствующий ключ. Для отсутствующего ключа TryGetValue вернул false, и программа не упала. Чтение map["z"] бросило бы исключение, потому что ключа нет:
using System.Collections.Frozen;
FrozenDictionary<string, int> map = new Dictionary<string, int> { ["k"] = 9 }.ToFrozenDictionary();
Console.WriteLine(map.TryGetValue("k", out int v) ? v : -1); // выведет 9
Console.WriteLine(map.TryGetValue("z", out _) ? 1 : 0); // выведет 0
Соберите замороженный словарь с ключом "paris" и значением 33. Прочитайте ключ "rome" и выведите найденное число, а если ключа нет - выведите 0.