优雅的方式做词典<Key,Collection <Value >>

Wha*_*sit 1 c# types

将关键对象的映射存储到值对象集合的最佳方法是什么?
我可以用

Dictionary<KeyType, Collection<ValueType>>
Run Code Online (Sandbox Code Playgroud)

但这种方法往往涉及大量的内务管理,并使代码混乱.

Lookup类型几乎是我正在寻找的结果,但它是不可变的,没有构造函数.我可以创建自己的自定义类,但它似乎应该存在于某个框架中.

Sam*_*ell 5

这是你最好的答案.这很常见Dictionary<KeyType, ICollection<ValueType>>.使用var关键字声明局部变量是整理的最佳方式.

除此之外,您唯一的选择是创建一个MultiDictionary<T,K>类型.你也可以调用它Lookup并将它放在你自己的命名空间中?

编辑:谷歌说你应该看一下现有的实现:多值字典C#源代码(.NET 3.5).BSD2许可证意味着您可以将其用于归属的商业应用程序.:)