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.Join<TOuter, TInner, TKey, TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter, TKey>>, Expression<Func<TInner, TKey>>, Expression<Func<TOuter, TInner, TResult>>, IEqualityComparer<TKey>)

 

Data di pubblicazione: ottobre 2016

Mette in correlazione gli elementi di due sequenze in base alle chiavi corrispondenti. Per confrontare le chiavi, viene usato un oggetto IEqualityComparer<T> specificato.

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

public static IQueryable<TResult> Join<TOuter, TInner, TKey, TResult>(
	this IQueryable<TOuter> outer,
	IEnumerable<TInner> inner,
	Expression<Func<TOuter, TKey>> outerKeySelector,
	Expression<Func<TInner, TKey>> innerKeySelector,
	Expression<Func<TOuter, TInner, TResult>> resultSelector,
	IEqualityComparer<TKey> comparer
)

Parametri

outer
Type: System.Linq.IQueryable<TOuter>

Prima sequenza da unire.

inner
Type: System.Collections.Generic.IEnumerable<TInner>

Sequenza da unire alla prima sequenza.

outerKeySelector
Type: System.Linq.Expressions.Expression<Func<TOuter, TKey>>

Funzione per estrarre la chiave di aggiunta da ogni elemento della prima sequenza.

innerKeySelector
Type: System.Linq.Expressions.Expression<Func<TInner, TKey>>

Funzione per estrarre la chiave di aggiunta da ogni elemento della seconda sequenza.

resultSelector
Type: System.Linq.Expressions.Expression<Func<TOuter, TInner, TResult>>

Funzione per creare un elemento di risultato da due elementi corrispondenti.

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

Oggetto IEqualityComparer<T> per la codifica hash e il confronto delle chiavi.

Valore restituito

Type: System.Linq.IQueryable<TResult>

Un IQueryable<T> che contiene elementi di tipo TResult ottenuti eseguendo un inner join di due sequenze.

Parametri tipo

TOuter

Tipo degli elementi della prima sequenza.

TInner

Tipo degli elementi della seconda sequenza.

TKey

Tipo delle chiavi restituite dalle funzioni del selettore principale.

TResult

Tipo degli elementi di risultato.

Exception Condition
ArgumentNullException

outer o inner o outerKeySelector o innerKeySelector o resultSelector è 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 Join<TOuter, TInner, TKey, TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter, TKey>>, Expression<Func<TInner, TKey>>, Expression<Func<TOuter, TInner, TResult>>, IEqualityComparer<TKey>) metodo genera un MethodCallExpression che rappresenta una chiamata Join<TOuter, TInner, TKey, TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter, TKey>>, Expression<Func<TInner, TKey>>, Expression<Func<TOuter, TInner, 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 outer parametro.

Il comportamento della query che si verifica in seguito all'esecuzione di una struttura ad albero dell'espressione che rappresenta una chiamata Join<TOuter, TInner, TKey, TResult>(IQueryable<TOuter>, IEnumerable<TInner>, Expression<Func<TOuter, TKey>>, Expression<Func<TInner, TKey>>, Expression<Func<TOuter, TInner, TResult>>, IEqualityComparer<TKey>) dipende dall'implementazione del tipo di outer parametro. Il comportamento previsto è quello di un inner join. Il outerKeySelector e innerKeySelector vengono utilizzate per estrarre le chiavi da outer e inner, rispettivamente. Queste chiavi vengono confrontate per verificarne l'uguaglianza utilizzando comparer. Il risultato dei confronti viene utilizzato per creare una coppia corrispondente per ogni elemento inner che corrisponde a un elemento in outer. Il resultSelector funzione viene richiamata per proiettare un oggetto di risultato da ogni coppia di elementi corrispondenti.

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: