Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Metodo Queryable.Zip<TFirst, TSecond, TResult>

Unisce due sequenze tramite la funzione del 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 di 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 risultante.

Parametri

source1
Tipo: System.Linq.IQueryable<TFirst>
Prima sequenza da unire.
source2
Tipo: System.Collections.Generic.IEnumerable<TSecond>
Seconda sequenza da unire.
resultSelector
Tipo: System.Linq.Expressions.Expression<Func<TFirst, TSecond, TResult>>
Una funzione che specifica come unire gli elementi dalle due sequenze.

Valore restituito

Tipo: System.Linq.IQueryable<TResult>
Oggetto IQueryable<T> che contiene gli elementi uniti delle due sequenze di input.

Nota sull'utilizzo

In Visual Basic e C# è possibile chiamare questo metodo come metodo di istanza su qualsiasi oggetto di tipo IQueryable<TFirst>. Per chiamare il metodo utilizzando la sintassi del metodo di istanza, omettere il primo parametro. Per ulteriori informazioni, vedere Metodi di estensione (Visual Basic) o Metodi di estensione (Guida per programmatori C#).

EccezioneCondizione
ArgumentNullException

source1 o source2 è null.

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

Il metodo unisce ogni elemento della prima sequenza con un elemento che ha lo stesso indice nella seconda sequenza. Se le sequenze non dispongono dello stesso numero di elementi, il metodo unisce le sequenze finché non raggiunge la fine di una. Se ad esempio una sequenza dispone di tre elementi e un'altra di quattro, la sequenza risultante disporrà solo di tre elementi.

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare il metodo Zip<TFirst, TSecond, TResult> 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



.NET Framework

Supportato in: 4.5.2, 4.5.1, 4.5, 4

.NET Framework Client Profile

Supportato in: 4

Libreria di classi portabile

Supportato in: Libreria di classi portabile

.NET per applicazioni Windows Store

Supportato in: Windows 8

.NET per applicazioni Windows Phone

Supportato in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft