是否有一个通用的等效于哈希表,或NameValueCollection允许多个值具有相同的键?

时间:2017-07-28 23:17:54

标签: c# .net

我找到了NameValueCollection,但它只支持键的字符串和值的字符串。我需要一些通用的东西,可以使用长整数的键和我自己的对象作为值。我可以通过使用散列表来自己滚动,散列表中包含每个键的列表。我宁愿拥有强大且可能更高效的库代码。

2 个答案:

答案 0 :(得分:4)

当然!你可以这样做:

data-toggle="collapse" data-target="#text1"

添加值将如下所示:

var dict = new Dictionary<long, List<MyType>>();

或者,如果要将对象添加到现有密钥:

dict[key] = new List<MyType>(valuesEnumerable);

答案 1 :(得分:3)

您可以使用MultiValueDictionary(NuGet:Microsoft.Experimental.Collections):https://blogs.msdn.microsoft.com/dotnet/2014/08/05/multidictionary-becomes-multivaluedictionary/

var multiValueDictionary = new MultiValueDictionary<string, int>();
multiValueDictionary.Add("key", 1);
multiValueDictionary.Add("key", 2);
//multiValueDictionary.Count == 1
//multiValueDictionary.Values contains elements [[1,2]]