Enumerable.Zip Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Sobrecargas
| Name | Description |
|---|---|
| Zip<TFirst,TSecond,TResult>(IEnumerable<TFirst>, IEnumerable<TSecond>, Func<TFirst,TSecond,TResult>) |
Aplica uma função especificada aos elementos correspondentes de duas sequências, produzindo uma sequência dos resultados. |
| Zip<TFirst,TSecond,TThird>(IEnumerable<TFirst>, IEnumerable<TSecond>, IEnumerable<TThird>) |
Produz uma sequência de tuplas com elementos das três sequências especificadas. |
| Zip<TFirst,TSecond>(IEnumerable<TFirst>, IEnumerable<TSecond>) |
Produz uma sequência de tuplas com elementos das duas sequências especificadas. |
Zip<TFirst,TSecond,TResult>(IEnumerable<TFirst>, IEnumerable<TSecond>, Func<TFirst,TSecond,TResult>)
- Origem:
- Zip.cs
- Origem:
- Zip.cs
- Origem:
- Zip.cs
- Origem:
- Zip.cs
- Origem:
- Zip.cs
Aplica uma função especificada aos elementos correspondentes de duas sequências, produzindo uma sequência dos resultados.
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)
Parâmetros de Tipo Genérico
- TFirst
O tipo dos elementos da primeira sequência de entrada.
- TSecond
O tipo dos elementos da segunda sequência de entrada.
- TResult
O tipo dos elementos da sequência de resultados.
Parâmetros
- first
- IEnumerable<TFirst>
A primeira sequência a fundir-se.
- second
- IEnumerable<TSecond>
A segunda sequência a fundir.
- resultSelector
- Func<TFirst,TSecond,TResult>
Uma função que especifica como fundir os elementos das duas sequências.
Devoluções
Um IEnumerable<T> que contém elementos fundidos de duas sequências de entrada.
Exceções
first ou second é null.
Exemplos
O exemplo de código seguinte demonstra como usar o Zip método para fundir duas sequências.
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
Observações
Este método é implementado através da execução diferida. O valor de retorno imediato é um objeto que armazena toda a informação necessária para realizar a ação. A consulta representada por este método não é executada até que o objeto seja enumerado, seja chamando diretamente o seu método GetEnumerator ou usando foreach em C# ou For Each em Visual Basic.
O método funde cada elemento da primeira sequência com um elemento que tem o mesmo índice na segunda sequência. Se as sequências não tiverem o mesmo número de elementos, o método funde sequências até chegar ao fim de uma delas. Por exemplo, se uma sequência tem três elementos e a outra tem quatro, a sequência resultante terá apenas três elementos.
Ver também
Aplica-se a
Zip<TFirst,TSecond,TThird>(IEnumerable<TFirst>, IEnumerable<TSecond>, IEnumerable<TThird>)
- Origem:
- Zip.cs
- Origem:
- Zip.cs
- Origem:
- Zip.cs
- Origem:
- Zip.cs
- Origem:
- Zip.cs
Produz uma sequência de tuplas com elementos das três sequências especificadas.
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))
Parâmetros de Tipo Genérico
- TFirst
O tipo dos elementos da primeira sequência de entrada.
- TSecond
O tipo dos elementos da segunda sequência de entrada.
- TThird
O tipo dos elementos da terceira sequência de entrada.
Parâmetros
- first
- IEnumerable<TFirst>
A primeira sequência a fundir-se.
- second
- IEnumerable<TSecond>
A segunda sequência a fundir.
- third
- IEnumerable<TThird>
A terceira sequência a fundir.
Devoluções
Uma sequência de tuplas com elementos retirados da primeira, segunda e terceira sequências, nessa ordem.
Ver também
Aplica-se a
Zip<TFirst,TSecond>(IEnumerable<TFirst>, IEnumerable<TSecond>)
- Origem:
- Zip.cs
- Origem:
- Zip.cs
- Origem:
- Zip.cs
- Origem:
- Zip.cs
- Origem:
- Zip.cs
Produz uma sequência de tuplas com elementos das duas sequências especificadas.
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))
Parâmetros de Tipo Genérico
- TFirst
O tipo dos elementos da primeira sequência de entrada.
- TSecond
O tipo dos elementos da segunda sequência de entrada.
Parâmetros
- first
- IEnumerable<TFirst>
A primeira sequência a fundir-se.
- second
- IEnumerable<TSecond>
A segunda sequência a fundir.
Devoluções
Uma sequência de tuplas com elementos retirados da primeira e segunda sequências, por essa ordem.