IGrouping<TKey,TElement> IGrouping<TKey,TElement> IGrouping<TKey,TElement> IGrouping<TKey,TElement> Interface

Определение

Представляет коллекцию объектов с общим ключом. Represents a collection of objects that have a common key.

generic <typename TKey, typename TElement>
public interface class IGrouping : System::Collections::Generic::IEnumerable<TElement>
public interface IGrouping<out TKey,out TElement> : System.Collections.Generic.IEnumerable<out TElement>
type IGrouping<'Key, 'Element> = interface
    interface seq<'Element>
    interface IEnumerable
Public Interface IGrouping(Of Out TKey, Out TElement)
Implements IEnumerable(Of Out TElement)

Параметры типа

TKey

Тип ключа объекта IGrouping<TKey,TElement>. The type of the key of the IGrouping<TKey,TElement>.

TElement

Тип значений объекта IGrouping<TKey,TElement>. The type of the values in the IGrouping<TKey,TElement>.

Реализации
IEnumerable<TElement>

Примеры

Следующий пример демонстрирует, как работать с IGrouping<TKey,TElement> объекта.The following example demonstrates how to work with an IGrouping<TKey,TElement> object.

В этом примере GroupBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) вызывается для массива MemberInfo объектов, возвращенных GetMembers.In this example, GroupBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) is called on the array of MemberInfo objects returned by GetMembers. GroupBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) Группирует объекты на основе значения из их MemberType свойство.GroupBy<TSource,TKey>(IEnumerable<TSource>, Func<TSource,TKey>) groups the objects based on the value of their MemberType property. Каждое уникальное значение для MemberType в массиве MemberInfo объектов становится ключом для нового IGrouping<TKey,TElement> объекта и MemberInfo объектов, имеющих форму ключа IGrouping<TKey,TElement> объекта последовательности значений.Each unique value for MemberType in the array of MemberInfo objects becomes a key for a new IGrouping<TKey,TElement> object, and the MemberInfo objects that have that key form the IGrouping<TKey,TElement> object's sequence of values.

Наконец First последовательность вызывается метод IGrouping<TKey,TElement> объектов для получения только первых IGrouping<TKey,TElement> объекта.Finally, the First method is called on the sequence of IGrouping<TKey,TElement> objects to obtain just the first IGrouping<TKey,TElement> object.

Затем выводится ключ IGrouping<TKey,TElement> объекта и Name свойство для каждого значения в IGrouping<TKey,TElement> объекта последовательности значений.The example then outputs the key of the IGrouping<TKey,TElement> object and the Name property of each value in the IGrouping<TKey,TElement> object's sequence of values. Обратите внимание, что для доступа к IGrouping<TKey,TElement> объекта последовательность значений, можно просто использовать IGrouping<TKey,TElement> сама переменная.Notice that to access an IGrouping<TKey,TElement> object's sequence of values, you simply use the IGrouping<TKey,TElement> variable itself.

// Get an IGrouping object.
IGrouping<System.Reflection.MemberTypes, System.Reflection.MemberInfo> group =
    typeof(String).GetMembers().
    GroupBy(member => member.MemberType).
    First();

// Output the key of the IGrouping, then iterate
// through each value in the sequence of values
// of the IGrouping and output its Name property.
Console.WriteLine("\nValues that have the key '{0}':", group.Key);
foreach (System.Reflection.MemberInfo mi in group)
    Console.WriteLine(mi.Name);

// The output is similar to:

// Values that have the key 'Method':
// get_Chars
// get_Length
// IndexOf
// IndexOfAny
// LastIndexOf
// LastIndexOfAny
// Insert
// Replace
// Replace
// Remove
// Join
// Join
// Equals
// Equals
// Equals
// ...

' Get an IGrouping object.
Dim group As IGrouping(Of System.Reflection.MemberTypes, System.Reflection.MemberInfo) = _
    Type.GetType("String").GetMembers(). _
    GroupBy(Function(ByVal member) member.MemberType). _
    First()

' Output the key of the IGrouping, then iterate
' through each value in the sequence of values
' of the IGrouping and output its Name property.
MsgBox(String.Format("\nValues that have the key '{0}':", group.Key))
For Each mi As System.Reflection.MemberInfo In group
    MsgBox(mi.Name)
Next

' The output is similar to:

' Values that have the key 'Method':
' get_Chars
' get_Length
' IndexOf
' IndexOfAny
' LastIndexOf
' LastIndexOfAny
' Insert
' Replace
' Replace
' Remove
' Join
' Join
' Equals
' Equals
' Equals
' ...

Комментарии

IGrouping<TKey,TElement> Является IEnumerable<T> Кроме того, имеет ключ.An IGrouping<TKey,TElement> is an IEnumerable<T> that additionally has a key. Ключ представляет атрибут, который является общим для каждого значения в IGrouping<TKey,TElement>.The key represents the attribute that is common to each value in the IGrouping<TKey,TElement>.

Значения IGrouping<TKey,TElement> осуществляется во многом как элементы IEnumerable<T> осуществляется.The values of an IGrouping<TKey,TElement> are accessed much as the elements of an IEnumerable<T> are accessed. Например, можно обращаться к значениям с помощью foreach в Visual C# или For Each in Visual Basic для перебора IGrouping<TKey,TElement> объекта.For example, you can access the values by using a foreach in Visual C# or For Each in Visual Basic loop to iterate through the IGrouping<TKey,TElement> object. Ниже приводится пример кода, в котором показано, как получить доступ к ключа и значения IGrouping<TKey,TElement> объекта.The Example section contains a code example that shows you how to access both the key and the values of an IGrouping<TKey,TElement> object.

IGrouping<TKey,TElement> Тип используется GroupBy методы стандартных операторов запросов, которые возвращают последовательность элементов типа IGrouping<TKey,TElement>.The IGrouping<TKey,TElement> type is used by the GroupBy standard query operator methods, which return a sequence of elements of type IGrouping<TKey,TElement>.

Свойства

Key Key Key Key

Возвращает ключ объекта IGrouping<TKey,TElement>. Gets the key of the IGrouping<TKey,TElement>.

Применяется к