Enumerable.Zip Méthode

Définition

Surcharges

Nom Description
Zip<TFirst,TSecond,TResult>(IEnumerable<TFirst>, IEnumerable<TSecond>, Func<TFirst,TSecond,TResult>)

Applique une fonction spécifiée aux éléments correspondants de deux séquences, produisant une séquence des résultats.

Zip<TFirst,TSecond,TThird>(IEnumerable<TFirst>, IEnumerable<TSecond>, IEnumerable<TThird>)

Produit une séquence de tuples avec des éléments des trois séquences spécifiées.

Zip<TFirst,TSecond>(IEnumerable<TFirst>, IEnumerable<TSecond>)

Produit une séquence de tuples avec des éléments des deux séquences spécifiées.

Zip<TFirst,TSecond,TResult>(IEnumerable<TFirst>, IEnumerable<TSecond>, Func<TFirst,TSecond,TResult>)

Source:
Zip.cs
Source:
Zip.cs
Source:
Zip.cs
Source:
Zip.cs
Source:
Zip.cs

Applique une fonction spécifiée aux éléments correspondants de deux séquences, produisant une séquence des résultats.

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)

Paramètres de type

TFirst

Type des éléments de la première séquence d’entrée.

TSecond

Type des éléments de la deuxième séquence d’entrée.

TResult

Type des éléments de la séquence de résultats.

Paramètres

first
IEnumerable<TFirst>

Première séquence à fusionner.

second
IEnumerable<TSecond>

Deuxième séquence à fusionner.

resultSelector
Func<TFirst,TSecond,TResult>

Fonction qui spécifie comment fusionner les éléments des deux séquences.

Retours

IEnumerable<TResult>

Qui IEnumerable<T> contient des éléments fusionnés de deux séquences d’entrée.

Exceptions

first ou second est null.

Exemples

L’exemple de code suivant montre comment utiliser la Zip méthode pour fusionner deux séquences.

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

Remarques

Cette méthode est implémentée à l’aide de l’exécution différée. La valeur de retour immédiate est un objet qui stocke toutes les informations requises pour effectuer l’action. La requête représentée par cette méthode n’est pas exécutée tant que l’objet n’est pas énuméré en appelant directement sa méthode GetEnumerator ou en utilisant foreach en C# ou For Each dans Visual Basic.

La méthode fusionne chaque élément de la première séquence avec un élément qui a le même index dans la deuxième séquence. Si les séquences n’ont pas le même nombre d’éléments, la méthode fusionne les séquences jusqu’à ce qu’elle atteigne la fin de l’un d’entre eux. Par exemple, si une séquence a trois éléments et que l’autre a quatre, la séquence de résultats n’aura que trois éléments.

Voir aussi

S’applique à

Zip<TFirst,TSecond,TThird>(IEnumerable<TFirst>, IEnumerable<TSecond>, IEnumerable<TThird>)

Source:
Zip.cs
Source:
Zip.cs
Source:
Zip.cs
Source:
Zip.cs
Source:
Zip.cs

Produit une séquence de tuples avec des éléments des trois séquences spécifiées.

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

Paramètres de type

TFirst

Type des éléments de la première séquence d’entrée.

TSecond

Type des éléments de la deuxième séquence d’entrée.

TThird

Type des éléments de la troisième séquence d’entrée.

Paramètres

first
IEnumerable<TFirst>

Première séquence à fusionner.

second
IEnumerable<TSecond>

Deuxième séquence à fusionner.

third
IEnumerable<TThird>

Troisième séquence à fusionner.

Retours

IEnumerable<ValueTuple<TFirst,TSecond,TThird>>

Séquence de tuples avec des éléments extraits des premières, deuxième et troisième séquences, dans cet ordre.

Voir aussi

S’applique à

Zip<TFirst,TSecond>(IEnumerable<TFirst>, IEnumerable<TSecond>)

Source:
Zip.cs
Source:
Zip.cs
Source:
Zip.cs
Source:
Zip.cs
Source:
Zip.cs

Produit une séquence de tuples avec des éléments des deux séquences spécifiées.

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

Paramètres de type

TFirst

Type des éléments de la première séquence d’entrée.

TSecond

Type des éléments de la deuxième séquence d’entrée.

Paramètres

first
IEnumerable<TFirst>

Première séquence à fusionner.

second
IEnumerable<TSecond>

Deuxième séquence à fusionner.

Retours

IEnumerable<ValueTuple<TFirst,TSecond>>

Séquence de tuples avec des éléments extraits des premières et deuxième séquences, dans cet ordre.

Voir aussi

S’applique à