Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Enumerable.GroupBy<TSource, TKey, TElement> (IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>)

 

Data di pubblicazione: ottobre 2016

Raggruppa gli elementi di una sequenza secondo una specificata funzione del selettore di chiave. Le chiavi vengono confrontate usando un operatore di confronto e gli elementi di ogni gruppo vengono proiettati usando una funzione specificata.

Spazio dei nomi:   System.Linq
Assembly:  System.Core (in System.Core.dll)

public static IEnumerable<IGrouping<TKey, TElement>> GroupBy<TSource, TKey, TElement>(
	this IEnumerable<TSource> source,
	Func<TSource, TKey> keySelector,
	Func<TSource, TElement> elementSelector,
	IEqualityComparer<TKey> comparer
)

Parametri

source
Type: System.Collections.Generic.IEnumerable<TSource>

Un IEnumerable<T> cui raggruppare gli elementi.

keySelector
Type: System.Func<TSource, TKey>

Funzione per estrarre la chiave per ogni elemento.

elementSelector
Type: System.Func<TSource, TElement>

Funzione per eseguire il mapping di ogni elemento di origine a un elemento in un oggetto IGrouping<TKey, TElement>.

comparer
Type: System.Collections.Generic.IEqualityComparer<TKey>

Oggetto IEqualityComparer<T> per confrontare le chiavi.

Valore restituito

Type: System.Collections.Generic.IEnumerable<IGrouping<TKey, TElement>>

Un IEnumerable<IGrouping<TKey, TElement>> in c# o IEnumerable(Of IGrouping(Of TKey, TElement)) in Visual Basic in cui ogni IGrouping<TKey, TElement> oggetto contiene una raccolta di oggetti di tipo TElement e una chiave.

Parametri tipo

TSource

Tipo degli elementi di source.

TKey

Tipo della chiave restituita dall'oggetto keySelector.

TElement

Tipo degli elementi contenuti nell'oggetto IGrouping<TKey, TElement>.

Exception Condition
ArgumentNullException

Il parametro source, il parametro keySelector o il parametro elementSelector è null.

Questo metodo viene implementato tramite esecuzione posticipata. Il valore restituito immediato è un oggetto che archivia tutte le informazioni necessarie per eseguire l'azione. La query rappresentata da questo metodo non viene eseguita finché l'oggetto viene enumerata chiamando il relativo GetEnumerator metodo direttamente o tramite foreach in Visual C# o For Each in Visual Basic.

Il GroupBy<TSource, TKey, TElement>(IEnumerable<TSource>, Func<TSource, TKey>, Func<TSource, TElement>, IEqualityComparer<TKey>) metodo restituisce una raccolta di IGrouping<TKey, TElement> oggetti, uno per ogni chiave diversa è stata rilevata. Un IGrouping<TKey, TElement> è un IEnumerable<T> che include anche una chiave associata agli elementi.

Il IGrouping<TKey, TElement> gli oggetti vengono restituiti in un ordine in base all'ordine elementi source che produce la prima chiave di ogni IGrouping<TKey, TElement>. Gli elementi in un raggruppamento vengono restituiti nell'ordine in cui gli elementi che li ha prodotti vengono visualizzati in source.

Se comparer è null, operatore di uguaglianza predefinito Default viene utilizzato per confrontare le chiavi.

Se due chiavi sono considerate uguali in base al comparer, la prima chiave viene scelta come chiave per il raggruppamento.

Nella sintassi delle espressioni di query, un group by (Visual C#) o Group By Into (Visual Basic) clausola viene convertita in una chiamata di GroupBy. Per ulteriori informazioni ed esempi di utilizzo, vedere Clausola group (Riferimento C#) e Clausola Group By (Visual Basic).

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 3.5
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: