Afficher en anglais

Partage via


Queryable.Zip Méthode

Définition

Surcharges

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

Fusionne deux séquences en utilisant la fonction de prédicat spécifiée.

Zip<TFirst,TSecond,TThird>(IQueryable<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>(IQueryable<TFirst>, IEnumerable<TSecond>)

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

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

Source:
Queryable.cs
Source:
Queryable.cs
Source:
Queryable.cs

Fusionne deux séquences en utilisant la fonction de prédicat spécifiée.

C#
public static System.Linq.IQueryable<TResult> Zip<TFirst,TSecond,TResult> (this System.Linq.IQueryable<TFirst> source1, System.Collections.Generic.IEnumerable<TSecond> source2, System.Linq.Expressions.Expression<Func<TFirst,TSecond,TResult>> resultSelector);

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 seconde séquence d'entrée.

TResult

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

Paramètres

source1
IQueryable<TFirst>

Première séquence à fusionner.

source2
IEnumerable<TSecond>

Seconde séquence à fusionner.

resultSelector
Expression<Func<TFirst,TSecond,TResult>>

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

Retours

IQueryable<TResult>

IQueryable<T> qui contient les éléments fusionnés des deux séquences d'entrée.

Exceptions

source1 ou source2 est null.

Exemples

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

C#
int[] numbers = { 1, 2, 3, 4 };
string[] words = { "one", "two", "three" };

var numbersAndWords = numbers.AsQueryable().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

Remarques

La Zip méthode génère un MethodCallExpression qui représente l’appel Zip en tant que méthode générique construite. Il passe ensuite à MethodCallExpression la CreateQuery<TElement>(Expression) méthode du IQueryProvider représenté par la Provider propriété du source1 paramètre .

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’à la fin de l’un d’entre eux. Par exemple, si une séquence a trois éléments et l’autre en a quatre, la séquence résultante n’aura que trois éléments.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

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

Source:
Queryable.cs
Source:
Queryable.cs
Source:
Queryable.cs

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

C#
public static System.Linq.IQueryable<(TFirst First, TSecond Second, TThird Third)> Zip<TFirst,TSecond,TThird> (this System.Linq.IQueryable<TFirst> source1, System.Collections.Generic.IEnumerable<TSecond> source2, System.Collections.Generic.IEnumerable<TThird> source3);

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 seconde séquence d'entrée.

TThird

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

Paramètres

source1
IQueryable<TFirst>

Première séquence à fusionner.

source2
IEnumerable<TSecond>

Seconde séquence à fusionner.

source3
IEnumerable<TThird>

Troisième séquence à fusionner.

Retours

IQueryable<ValueTuple<TFirst,TSecond,TThird>>

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

S’applique à

.NET 9 et autres versions
Produit Versions
.NET 6, 7, 8, 9

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

Source:
Queryable.cs
Source:
Queryable.cs
Source:
Queryable.cs

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

C#
public static System.Linq.IQueryable<(TFirst First, TSecond Second)> Zip<TFirst,TSecond> (this System.Linq.IQueryable<TFirst> source1, System.Collections.Generic.IEnumerable<TSecond> source2);

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 seconde séquence d'entrée.

Paramètres

source1
IQueryable<TFirst>

Première séquence à fusionner.

source2
IEnumerable<TSecond>

Seconde séquence à fusionner.

Retours

IQueryable<ValueTuple<TFirst,TSecond>>

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

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 3.0, Core 3.1, 5, 6, 7, 8, 9