I\'m a former C++/STL programmer trying to code a fast marching algorithm using c#/.NET technology...
I\'m searching for an equivalent of STL method \"map::insert\"
The standard generic dictionary does not support this, the 2 lookups are required. Though the cost of the look ups are normally negligible so this isn't a problem, and you can often get better results tuning other parts of the system rather than trying to micro-optimise dictionary lookups.
The only dictionary that comes with .net that supports this that I know of is ConcurrentDictionary with the method GetOrAdd. Though now you're paying the cost of synchronization instead.