This topic has not yet been rated - Rate this topic

IGrouping<TKey, TElement>.Key Property

Gets the key of the IGrouping<TKey, TElement>.

Namespace:  System.Linq
Assembly:  System.Core (in System.Core.dll)
TKey Key { get; }

Property Value

Type: TKey
The key of the IGrouping<TKey, TElement>.

The key of an IGrouping<TKey, TElement> represents the attribute that is common to each value in the IGrouping<TKey, TElement>.

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


      // Get a sequence of IGrouping objects.
      IEnumerable<IGrouping<System.Reflection.MemberTypes, System.Reflection.MemberInfo>> memberQuery =
          typeof(String).GetMembers().
          GroupBy(member => member.MemberType);

      // Output the key of each IGrouping object and the count of values.
      foreach (IGrouping<System.Reflection.MemberTypes, System.Reflection.MemberInfo> group in memberQuery)
         outputBlock.Text += String.Format("(Key) {0} (Member count) {1}", group.Key, group.Count()) + "\n";

      // 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



Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ