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 Queryable.GroupBy<TSource, TKey, TResult>(IQueryable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TKey, IEnumerable<TSource>, TResult>>, IEqualityComparer<TKey>)

 

Data di pubblicazione: ottobre 2016

Raggruppa gli elementi di una sequenza in base a una funzione del selettore di chiave specificato e crea un valore risultante da ciascun gruppo e dalla relativa chiave. Le chiavi vengono confrontate utilizzando un operatore di confronto specificato.

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

public static IQueryable<TResult> GroupBy<TSource, TKey, TResult>(
	this IQueryable<TSource> source,
	Expression<Func<TSource, TKey>> keySelector,
	Expression<Func<TKey, IEnumerable<TSource>, TResult>> resultSelector,
	IEqualityComparer<TKey> comparer
)

Parametri

source
Type: System.Linq.IQueryable<TSource>

Un IQueryable<T> cui raggruppare gli elementi.

keySelector
Type: System.Linq.Expressions.Expression<Func<TSource, TKey>>

Funzione per estrarre la chiave per ogni elemento.

resultSelector
Type: System.Linq.Expressions.Expression<Func<TKey, IEnumerable<TSource>, TResult>>

Funzione per creare un valore di risultato da ogni gruppo.

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

Oggetto IEqualityComparer<T> per confrontare le chiavi.

Valore restituito

Type: System.Linq.IQueryable<TResult>

Un T:System.Linq.IQueryable`1 che dispone di un argomento di tipo TResult e in cui ogni elemento rappresenta una proiezione su un gruppo e relativa chiave.

Parametri tipo

TSource

Tipo degli elementi di source.

TKey

Il tipo della chiave restituita dalla funzione rappresentata keySelector.

TResult

Tipo del valore restituito dall'oggetto resultSelector.

Exception Condition
ArgumentNullException

source, keySelector, resultSelector o comparer è null.

Questo metodo contiene almeno un parametro di tipo Expression<TDelegate> il cui argomento di tipo è uno del Func<T, TResult> tipi. Per questi parametri, è possibile passare un'espressione lambda e verrà compilato in un Expression<TDelegate>.

Il GroupBy<TSource, TKey, TResult>(IQueryable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TKey, IEnumerable<TSource>, TResult>>, IEqualityComparer<TKey>) metodo genera un MethodCallExpression che rappresenta una chiamata GroupBy<TSource, TKey, TResult>(IQueryable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TKey, IEnumerable<TSource>, TResult>>, IEqualityComparer<TKey>) stesso come un metodo generico costruito. Passa quindi il MethodCallExpression per il CreateQuery<TElement>(Expression) metodo il IQueryProvider rappresentato dal Provider proprietà del source parametro.

Il comportamento della query che si verifica in seguito all'esecuzione di una struttura ad albero dell'espressione che rappresenta una chiamata GroupBy<TSource, TKey, TResult>(IQueryable<TSource>, Expression<Func<TSource, TKey>>, Expression<Func<TKey, IEnumerable<TSource>, TResult>>, IEqualityComparer<TKey>) dipende dall'implementazione del tipo di source parametro. Il comportamento previsto è che raggruppa gli elementi di source dai valori di chiave ottenuti richiamando keySelector su ogni elemento. Il comparer parametro viene utilizzato per confrontare le chiavi e resultSelector parametro viene utilizzato per ottenere un valore risultante da ciascun gruppo e relativa chiave.

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.1
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: