您可以使用Lookup类。Jon Skeet 在这个问题上提供了一个很好的答案。c#.NET字典中的重复键?
例如,您首先必须将它们存储在可枚举对象IEnumerable(Of (Tuple(Of String,String))
中)
Dim compositeKeys = New List(Of Tuple(Of String, String))
compositeKeys.Add(New Tuple(Of String, String)("aaa", "aaa"))
compositeKeys.Add(New Tuple(Of String, String)("aaa", "bbb"))
compositeKeys.Add(New Tuple(Of String, String)("bbb", "aaa"))
compositeKeys.Add(New Tuple(Of String, String)("bbb", "bbb"))
Dim lookup = compositeKeys.ToLookup(Function(x) x.Item1)
Dim aaaKeys = lookup("aaa") // 2 hits
对于特定的查找,总是有LINQ
Dim specificLookup = lookup("aaa").Where(Function(x) x.Item2 = "bbb").FirstOrDefault