NameValueCollection可以在一个键下保存多个字符串值。
是否有任何集合可以在一个键下保存多个OBJECT(不是字符串)?
答案 0 :(得分:3)
您可以查看corefxlab repository中的MultiDictionary
。安装Microsoft.Experimental.Collections
Nuget:
MultiDictionary<string, int> myDictionary = new MultiDictionary<string, int>();
myDictionary.Add("key", 1);
myDictionary.Add("key", 2);
myDictionary.Add("key", 3);
//myDictionary["key"] now contains the values 1, 2, and 3
您可以阅读以下有关MultiDictionary的帖子:https://blogs.msdn.microsoft.com/dotnet/2014/06/20/would-you-like-a-multidictionary/
答案 1 :(得分:2)
如果您不需要可变性,则应考虑Lookup<TKey, TElement>
- https://msdn.microsoft.com/en-us/library/bb460184(v=vs.110).aspx(通过ToLookup)。
这也意味着您无需检查密钥是否存在 - https://msdn.microsoft.com/en-us/library/bb292716(v=vs.110).aspx:
如果在集合中找不到密钥,则为空序列 返回。