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

 

Data di pubblicazione: ottobre 2016

Applica una funzione specificata per gli elementi corrispondenti di due sequenze, che produce una sequenza di 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

first
Type: System.Collections.Generic.IEnumerable<TFirst>

Prima sequenza da unire.

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

La seconda sequenza da unire.

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

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

Valore restituito

Type: System.Collections.Generic.IEnumerable<TResult>

Un IEnumerable<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

first o second è null.

Questo metodo viene implementato tramite esecuzione posticipata. Il valore restituito immediato è un oggetto che archivia tutte le informazioni necessarie per eseguire l'azione. La query rappresentata da questo metodo non viene eseguita finché l'oggetto viene enumerata chiamando il relativo GetEnumerator metodo direttamente o tramite foreach in Visual C# o For Each in Visual Basic.

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 di risultati 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.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: