using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Immutable;
static void Main(string[] args)
var originalDictionary = new Dictionary<string, int>
var readOnlyDict = new ReadOnlyDictionary<string, int>(originalDictionary);
Console.WriteLine(readOnlyDict["apple"]);
var emptyImmutableDict = ImmutableDictionary<string, int>.Empty;
var immutableDict = emptyImmutableDict
Console.WriteLine(immutableDict["apple"]);
var newImmutableDict = immutableDict.Add("grape", 6);
Console.WriteLine("Original ImmutableDictionary:");
foreach (var kvp in immutableDict)
Console.WriteLine($"{kvp.Key}: {kvp.Value}");
Console.WriteLine("\nNew ImmutableDictionary with Modification:");
foreach (var kvp in newImmutableDict)
Console.WriteLine($"{kvp.Key}: {kvp.Value}");