ImmutableDictionary в C#
Класс ImmutableDictionary хранит пары ключ-значение и не меняется на месте. Add возвращает новую карту, её и записывают в переменную.
Ключи уникальны, как у обычного словаря. Add ждёт новый ключ: повторить уже существующий нельзя, и старое значение так не заменяют.
Построим карту двумя вызовами Add. Ссылка на Empty не изменилась - каждый Add вернул новый экземпляр, присвоенный map:
using System.Collections.Immutable;
ImmutableDictionary<string, int> map = ImmutableDictionary<string, int>.Empty.Add("a", 1);
map = map.Add("b", 2);
Console.WriteLine(map["b"]); // выведет 2
Соберите неизменяемый словарь: ключу "ann" поставьте 5, ключу "bob" поставьте 4. Выведите значение по ключу "ann".