I realized that I didn\'t give enough information for most people to read my mind and understand all my needs, so I changed this somewhat from the original.
Here's a solution using Linq:
Dictionary> dict = things .GroupBy(thing => thing.Foo) .ToDictionary(fooGroup => fooGroup.Key, fooGroup => fooGroup.ToDictionary(thing => thing.Bar, thing => thing.Baz));