I often find myself creating a Dictionary with a non-trivial value class (e.g. List), and then always writing the same code pattern when filling in data.
For example
If you use .Net Core you can use Dictionary<>.TryAdd().
var dict = new Dictionary(); dict.TryAdd("foo", "bar"); // returns bool whether it added or not feel free to ignore. var myValue = dict["foo"];