I need to create a dictinary where key is string and value is Object. But I don't want exact match of the key with user provided string. Instead I want to key to contain a part of string. Let me explain by example
If there is an entry in dictionary under key "Johnson" I want to be able to find value given input strings "John", "Jo". Also I want to be able to extract several values that match input string by given condition. For instance if there entries "John A" and "John B" I want to to have functionality like FindFirst that would return iterator to first matched value.
Ideally I would prefer use existing System.Collections.Generic.Dictionary possibly deriving a new class and overriding some methods