ILookup(Of TKey, TElement) Interface
Defines an indexer, size property, and Boolean search method for data structures that map keys to IEnumerable(Of T) sequences of values.
Assembly: System.Core (in System.Core.dll)
'Declaration Public Interface ILookup(Of TKey, TElement) _ Inherits IEnumerable(Of IGrouping(Of TKey, TElement)), _ IEnumerable 'Usage Dim instance As ILookup(Of TKey, TElement)
Type Parameters
- TKey
The type of the keys in the ILookup(Of TKey, TElement).
- TElement
The type of the elements in the IEnumerable(Of T) sequences that make up the values in the ILookup(Of TKey, TElement).
The type Lookup(Of TKey, TElement) implements the ILookup(Of TKey, TElement) interface.
The extension method ToLookup, which can be appended to the end of a LINQ query, returns an object of type ILookup(Of TKey, TElement).
The following code example creates an ILookup(Of TKey, TElement) object and iterates through its contents.
Structure Package Public Company As String Public Weight As Double Public TrackingNumber As Long End Structure Sub ILookupExample() ' Create a list of Packages to put into an ILookup data structure. Dim packages As New System.Collections.Generic.List(Of Package)(New Package() _ {New Package With {.Company = "Coho Vineyard", .Weight = 25.2, .TrackingNumber = 89453312L}, _ New Package With {.Company = "Lucerne Publishing", .Weight = 18.7, .TrackingNumber = 89112755L}, _ New Package With {.Company = "Wingtip Toys", .Weight = 6.0, .TrackingNumber = 299456122L}, _ New Package With {.Company = "Contoso Pharmaceuticals", .Weight = 9.3, .TrackingNumber = 670053128L}, _ New Package With {.Company = "Wide World Importers", .Weight = 33.8, .TrackingNumber = 4665518773L}}) ' Create a ILookup to organize the packages. Use the first character of Company as the key value. ' Select Company appended to TrackingNumber for each element value. Dim packageLookup As ILookup(Of Char, String) = _ packages.ToLookup(Function(p) Convert.ToChar(p.Company.Substring(0, 1)), _ Function(p) p.Company & " " & p.TrackingNumber) Dim output As New System.Text.StringBuilder ' Iterate through each group in the Lookup and output the contents. For Each packageGroup In packageLookup ' Print the key value. output.AppendLine(packageGroup.Key) ' Iterate through each value in the group and output it. For Each str As String In packageGroup output.AppendLine(String.Format(" {0}", str)) Next Next ' Display the output. MsgBox(output.ToString()) ' This code produces the following output: ' ' C ' Coho Vineyard 89453312 ' Contoso Pharmaceuticals 670053128 ' L ' Lucerne Publishing 89112755 ' W ' Wingtip Toys 299456122 ' Wide World Importers 4665518773 End Sub
Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.