Enumerable.Zip Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| Zip<TFirst,TSecond,TResult>(IEnumerable<TFirst>, IEnumerable<TSecond>, Func<TFirst,TSecond,TResult>) |
Applica una funzione specificata agli elementi corrispondenti di due sequenze, generando una sequenza dei risultati. |
| Zip<TFirst,TSecond,TThird>(IEnumerable<TFirst>, IEnumerable<TSecond>, IEnumerable<TThird>) |
Produce una sequenza di tuple con elementi delle tre sequenze specificate. |
| Zip<TFirst,TSecond>(IEnumerable<TFirst>, IEnumerable<TSecond>) |
Produce una sequenza di tuple con elementi delle due sequenze specificate. |
Zip<TFirst,TSecond,TResult>(IEnumerable<TFirst>, IEnumerable<TSecond>, Func<TFirst,TSecond,TResult>)
- Origine:
- Zip.cs
- Origine:
- Zip.cs
- Origine:
- Zip.cs
- Origine:
- Zip.cs
- Origine:
- Zip.cs
Applica una funzione specificata agli elementi corrispondenti di due sequenze, generando una sequenza dei risultati.
public:
generic <typename TFirst, typename TSecond, typename TResult>
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::IEnumerable<TResult> ^ Zip(System::Collections::Generic::IEnumerable<TFirst> ^ first, System::Collections::Generic::IEnumerable<TSecond> ^ second, Func<TFirst, TSecond, TResult> ^ resultSelector);
public static System.Collections.Generic.IEnumerable<TResult> Zip<TFirst,TSecond,TResult>(this System.Collections.Generic.IEnumerable<TFirst> first, System.Collections.Generic.IEnumerable<TSecond> second, Func<TFirst,TSecond,TResult> resultSelector);
static member Zip : seq<'First> * seq<'Second> * Func<'First, 'Second, 'Result> -> seq<'Result>
<Extension()>
Public Function Zip(Of TFirst, TSecond, TResult) (first As IEnumerable(Of TFirst), second As IEnumerable(Of TSecond), resultSelector As Func(Of TFirst, TSecond, TResult)) As IEnumerable(Of TResult)
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 di risultati.
Parametri
- first
- IEnumerable<TFirst>
Prima sequenza da unire.
- second
- IEnumerable<TSecond>
Seconda sequenza da unire.
- resultSelector
- Func<TFirst,TSecond,TResult>
Funzione che specifica come unire gli elementi delle due sequenze.
Valori restituiti
Oggetto IEnumerable<T> che contiene elementi uniti di due sequenze di input.
Eccezioni
first o second è null.
Esempio
Nell'esempio di codice seguente viene illustrato come usare il Zip 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
Dim numbers() As Integer = {1, 2, 3, 4}
Dim words() As String = {"one", "two", "three"}
Dim numbersAndWords = numbers.Zip(words, Function(first, second) first & " " & second)
For Each item In numbersAndWords
Console.WriteLine(item)
Next
' This code produces the following output:
' 1 one
' 2 two
' 3 three
Commenti
Questo metodo viene implementato usando l'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 non viene enumerato chiamando direttamente il relativo metodo GetEnumerator o usando foreach in 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 fino a raggiungere la fine di una di esse. Ad esempio, se una sequenza ha tre elementi e l'altra ha quattro elementi, la sequenza di risultati avrà solo tre elementi.
Vedi anche
Si applica a
Zip<TFirst,TSecond,TThird>(IEnumerable<TFirst>, IEnumerable<TSecond>, IEnumerable<TThird>)
- Origine:
- Zip.cs
- Origine:
- Zip.cs
- Origine:
- Zip.cs
- Origine:
- Zip.cs
- Origine:
- Zip.cs
Produce una sequenza di tuple con elementi delle tre sequenze specificate.
public:
generic <typename TFirst, typename TSecond, typename TThird>
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::IEnumerable<ValueTuple<TFirst, TSecond, TThird>> ^ Zip(System::Collections::Generic::IEnumerable<TFirst> ^ first, System::Collections::Generic::IEnumerable<TSecond> ^ second, System::Collections::Generic::IEnumerable<TThird> ^ third);
public static System.Collections.Generic.IEnumerable<(TFirst First, TSecond Second, TThird Third)> Zip<TFirst,TSecond,TThird>(this System.Collections.Generic.IEnumerable<TFirst> first, System.Collections.Generic.IEnumerable<TSecond> second, System.Collections.Generic.IEnumerable<TThird> third);
static member Zip : seq<'First> * seq<'Second> * seq<'hird> -> seq<ValueTuple<'First, 'Second, 'hird>>
<Extension()>
Public Function Zip(Of TFirst, TSecond, TThird) (first As IEnumerable(Of TFirst), second As IEnumerable(Of TSecond), third As IEnumerable(Of TThird)) As IEnumerable(Of ValueTuple(Of TFirst, TSecond, TThird))
Parametri di tipo
- TFirst
Tipo degli elementi della prima sequenza di input.
- TSecond
Tipo degli elementi della seconda sequenza di input.
- TThird
Tipo degli elementi della terza sequenza di input.
Parametri
- first
- IEnumerable<TFirst>
Prima sequenza da unire.
- second
- IEnumerable<TSecond>
Seconda sequenza da unire.
- third
- IEnumerable<TThird>
Terza sequenza da unire.
Valori restituiti
Sequenza di tuple con elementi ricavati dalla prima, dalla seconda e dalla terza sequenza, in tale ordine.
Vedi anche
Si applica a
Zip<TFirst,TSecond>(IEnumerable<TFirst>, IEnumerable<TSecond>)
- Origine:
- Zip.cs
- Origine:
- Zip.cs
- Origine:
- Zip.cs
- Origine:
- Zip.cs
- Origine:
- Zip.cs
Produce una sequenza di tuple con elementi delle due sequenze specificate.
public:
generic <typename TFirst, typename TSecond>
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::IEnumerable<ValueTuple<TFirst, TSecond>> ^ Zip(System::Collections::Generic::IEnumerable<TFirst> ^ first, System::Collections::Generic::IEnumerable<TSecond> ^ second);
public static System.Collections.Generic.IEnumerable<(TFirst First, TSecond Second)> Zip<TFirst,TSecond>(this System.Collections.Generic.IEnumerable<TFirst> first, System.Collections.Generic.IEnumerable<TSecond> second);
static member Zip : seq<'First> * seq<'Second> -> seq<ValueTuple<'First, 'Second>>
<Extension()>
Public Function Zip(Of TFirst, TSecond) (first As IEnumerable(Of TFirst), second As IEnumerable(Of TSecond)) As IEnumerable(Of ValueTuple(Of TFirst, TSecond))
Parametri di tipo
- TFirst
Tipo degli elementi della prima sequenza di input.
- TSecond
Tipo degli elementi della seconda sequenza di input.
Parametri
- first
- IEnumerable<TFirst>
Prima sequenza da unire.
- second
- IEnumerable<TSecond>
Seconda sequenza da unire.
Valori restituiti
Sequenza di tuple con elementi tratti dalla prima e dalla seconda sequenza, in tale ordine.