一つのkeyに対応する複数のvalueを持たせたい場合。
C++にはmultimapというものが存在するらしいけど、C#にはない。
String限定でよければNameValueCollectionクラスというものがある。
http://msdn.microsoft.com/ja-jp/library/system.collections.specialized.namevaluecollection%28v=vs.80%29.aspx
実際にはDictionaryとかのValue側をListにするか、自作するくらいしかないみたい。
自作するにしても大した手間ではないと思うけど、標準でないというだけで若干の品質に関するアレコレにひっかかりそうな。