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 Enumerable.Zip<TFirst, TSecond, TResult>

Applica una funzione specificata agli elementi corrispondenti di due sequenze, producendo una sequenza dei risultati.

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

public static IEnumerable<TResult> Zip<TFirst, TSecond, TResult>(
	this IEnumerable<TFirst> first,
	IEnumerable<TSecond> second,
	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

first
Tipo: System.Collections.Generic.IEnumerable<TFirst>
Prima sequenza da unire.
second
Tipo: System.Collections.Generic.IEnumerable<TSecond>
Seconda sequenza da unire.
resultSelector
Tipo: System.Func<TFirst, TSecond, TResult>
Una funzione che specifica come unire gli elementi dalle due sequenze.

Valore restituito

Tipo: System.Collections.Generic.IEnumerable<TResult>
Oggetto IEnumerable<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 IEnumerable<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

first o second è null.

Questo metodo viene implementato tramite esecuzione posticipata. Il valore restituito immediato è un oggetto che contiene tutte le informazioni necessarie all'esecuzione dell'azione. La query rappresentata da questo metodo non viene eseguita finché l'oggetto non viene enumerato tramite chiamata diretta al relativo metodo GetEnumerator o utilizzando l'oggetto foreach in Visual C# oppure For Each in Visual Basic.

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.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