Here, we meet Ian Hays, a Summer Intern on the Developer Division's .NET BCL team. Ian wants to be a professional software developer when he graduates from college, so having the opportunity to be a Microsoft SDE for the Summer has been a great way for Ian to learn some of the ins and outs of professional development. Of course, the best way to be a dev is to dev and that's exactly what Ian has been up to. He designed and implemented an experimental .NET collection type, MultiDictionary, which is something many .NET developers out there have requested - in fact, it ranks among the top requests for additions to the BCL. What is it? MultiDictionary is a generic dictionary that associates a single key with one or more values. Values can be added and removed independently. We dig into Ian's implementation, learn some history, his approach to design and quality, and much more.
Joining Ian in this conversation is .NET Program Manager and long time Niner Immo Landwerth and .NET SDE Matt Cohn, who was Ian's mentor this summer and helped Ian through the process of designing, implementing, testing and shipping his collection type.
As always, we bob and weave, ride tandem with the random, you know - we have a conversation that builds itself up in real time... Enjoy. Learn. Build.
Learn about (then get...) the NuGet package that contains the experimental MultiDictionary type.