C# Dictionary with two Values per Key?
c#, dictionary, generics
Solution
Actually, what you've just described is an ideal use for the Dictionary collection. It's supposed to contain key:value pairs, regardless of the type of value. By making the value its own class, you'll be able to extend it easily in the future, should the need arise.
Problem
I have a situation in code where a `Dictionary<string, string>` seemed like the best idea - I need a collection of these objects and I need them to be accessible via a unique key. Exactly what the Dictionary concept is for, right? Well, the requirements have expanded to the point where I now need to hold an additional bit of information per-key (a boolean value, if you're curious). So, I figure expand the concept to create a new data structure with the string and the boolean and have it now be a `Dictionary<string, NewCustomObject>`. However, for just one additional value like a boolean flag, it just feels like overkill. And yet I don't know of any Dictionary-like generic object with two values per key. Is just having a Dictionary of custom objects the best way to go about this or is there something simpler for this scenario?