IGrouping(Of TKey, TElement).Key Property

Namespace:   System.Linq
Assembly:  System.Core (in System.Core.dll)

ReadOnly Property Key As TKey

Property Value

Type: TKey

The key of the IGrouping(Of TKey, TElement).

The key of an IGrouping(Of TKey, TElement) represents the attribute that is common to each value in the IGrouping(Of TKey, TElement).

The following example demonstrates how to use the Key property to label each IGrouping(Of TKey, TElement) object in a sequence of IGrouping(Of TKey, TElement) objects. The GroupBy(Of TSource, TKey)(IEnumerable(Of TSource), Func(Of TSource, TKey)) method is used to obtain a sequence of IGrouping(Of TKey, TElement) objects. The foreach in Visual C# or For Each in Visual Basic loop then iterates through each IGrouping(Of TKey, TElement) object, outputting its key and the number of values it contains.

' Get a sequence of IGrouping objects.
Dim memberQuery As  _
IEnumerable(Of IGrouping(Of System.Reflection.MemberTypes, System.Reflection.MemberInfo)) = _
    Type.GetType("String").GetMembers(). _
    GroupBy(Function(ByVal member) member.MemberType)

' Output the key of each IGrouping object and the count of values.
For Each group As  _
IGrouping(Of System.Reflection.MemberTypes, System.Reflection.MemberInfo) In memberQuery
    MsgBox(String.Format("(Key) {0} (Member count) {1}", group.Key, group.Count()))

' The output is similar to:
' (Key) Method (Member count) 113
' (Key) Constructor (Member count) 8
' (Key) Property (Member count) 2
' (Key) Field (Member count) 1

Universal Windows Platform
Available since 8
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top