Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Enumerable.Zip<TFirst, TSecond, TResult>(IEnumerable<TFirst>, IEnumerable<TSecond>, Func<TFirst, TSecond, TResult>)

 

Publicado: octubre de 2016

Se aplica a una función especificada a los elementos correspondientes de dos secuencias, que produce una secuencia de los resultados.

Espacio de nombres:   System.Linq
Ensamblado:  System.Core (en System.Core.dll)

public static IEnumerable<TResult> Zip<TFirst, TSecond, TResult>(
	this IEnumerable<TFirst> first,
	IEnumerable<TSecond> second,
	Func<TFirst, TSecond, TResult> resultSelector
)

Parámetros

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

Primera secuencia que se va a combinar.

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

Segunda secuencia que se va a combinar.

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

Una función que especifica cómo combinar los elementos de las dos secuencias.

Valor devuelto

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

Un IEnumerable<T> que contiene elementos combinados de las dos secuencias de entrada.

Parámetros de tipo

TFirst

El tipo de los elementos de la primera secuencia de entrada.

TSecond

El tipo de los elementos de la segunda secuencia de entrada.

TResult

El tipo de los elementos de la secuencia de resultado.

Exception Condition
ArgumentNullException

El valor de first o second es null.

Este método se implementa mediante la ejecución diferida. El valor devuelto inmediato es un objeto que almacena toda la información necesaria para realizar la acción. La consulta representada por este método no se ejecuta hasta que se enumera el objeto llamando a su GetEnumerator método directamente o mediante el uso de foreach en Visual C# o For Each en Visual Basic.

El método combina cada elemento de la primera secuencia con un elemento que tiene el mismo índice en la segunda secuencia. Si las secuencias no tienen el mismo número de elementos, el método combina las secuencias hasta que llega al final de uno de ellos. Por ejemplo, si una secuencia tiene tres elementos y la otra tiene cuatro, la secuencia de resultado tendrá sólo tres elementos.

En el ejemplo de código siguiente se muestra cómo utilizar el Zip<TFirst, TSecond, TResult> método para combinar dos secuencias.

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

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 4.0
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 4.0
Windows Phone Silverlight
Disponible desde 8.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: