using System.Collections.Generic;
using System.Collections.ObjectModel;
public static void Main()
var foo = ProperDictMapping.Mapping[1];
var bar = ProperDictMapping.Mapping[1];
Console.WriteLine("Proper");
Console.WriteLine($"{foo}\r\n{bar}");
foo = ShittyDictMapping.Mapping[1];
bar = ShittyDictMapping.Mapping[1];
Console.WriteLine("Shitty");
Console.WriteLine($"{foo}\r\n{bar}");
foo = ReadonlyShittyDictMapping.Mapping[1];
bar = ReadonlyShittyDictMapping.Mapping[1];
Console.WriteLine("ReadonlyShitty");
Console.WriteLine($"{foo}\r\n{bar}");
foo = ReadonlyShittyDictMapping.Mapping[1];
ReadonlyShittyDictMapping.Mapping[1] = Guid.NewGuid();
bar = ReadonlyShittyDictMapping.Mapping[1];
Console.WriteLine("ReadonlyShitty");
Console.WriteLine($"{foo}\r\n{bar}");
public static class ProperDictMapping
public static ReadOnlyDictionary<int, Guid> Mapping { get; } = new ReadOnlyDictionary<int, Guid>(new Dictionary<int, Guid>
public static class ReadonlyShittyDictMapping
public static readonly Dictionary<int, Guid> Mapping = new Dictionary<int, Guid>
public static class ShittyDictMapping
public static Dictionary<int, Guid> Mapping => new Dictionary<int, Guid>