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.Zip<TFirst, TSecond, TResult>(IQueryable<TFirst>, IEnumerable<TSecond>, Expression<Func<TFirst, TSecond, TResult>>)

 

Data di pubblicazione: ottobre 2016

Unisce due sequenze tramite la funzione predicato specificata.

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

public static IQueryable<TResult> Zip<TFirst, TSecond, TResult>(
	this IQueryable<TFirst> source1,
	IEnumerable<TSecond> source2,
	Expression<Func<TFirst, TSecond, TResult>> resultSelector
)

Parametri

source1
Type: System.Linq.IQueryable<TFirst>

Prima sequenza da unire.

source2
Type: System.Collections.Generic.IEnumerable<TSecond>

La seconda sequenza da unire.

resultSelector
Type: System.Linq.Expressions.Expression<Func<TFirst, TSecond, TResult>>

Una funzione che specifica come unire gli elementi di due sequenze.

Valore restituito

Type: System.Linq.IQueryable<TResult>

Un IQueryable<T> che contiene gli elementi uniti delle due sequenze di input.

Parametri tipo

TFirst

Tipo degli elementi della prima sequenza di input.

TSecond

Tipo degli elementi della seconda sequenza di input.

TResult

Tipo degli elementi della sequenza di risultati.

Exception Condition
ArgumentNullException

source1or source2 is null.

Il Zip<TFirst, TSecond, TResult> metodo genera un MethodCallExpression che rappresenta una chiamata Zip<TFirst, TSecond, TResult> stesso come un metodo generico costruito. Passa quindi il MethodCallExpression per il CreateQuery<TElement>(Expression) metodo il IQueryProvider rappresentato dal Provider proprietà del source1 parametro.

Il metodo unisce ogni elemento della prima sequenza con un elemento con lo stesso indice nella seconda sequenza. Se le sequenze non hanno lo stesso numero di elementi, il metodo unisce le sequenze di fino a quando non viene raggiunta la fine di uno di essi. Ad esempio, se una sequenza dispone di tre elementi e l'altra dispone di quattro, la sequenza risultante disporrà solo tre elementi.

Esempio di codice seguente viene illustrato come utilizzare il Zip<TFirst, TSecond, TResult> metodo per unire due sequenze.

int[] numbers = { 1, 2, 3, 4 };
string[] words = { "one", "two", "three" };

var numbersAndWords = numbers.AsQueryable().Zip(words, (first, second) => first + " " + second);

foreach (var item in numbersAndWords)
    Console.WriteLine(item);

// This code produces the following output:

// 1 one
// 2 two
// 3 three

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