Enumerable.Zip Methode

Definitie

Overloads

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

Hiermee past u een opgegeven functie toe op de bijbehorende elementen van twee reeksen, waardoor een reeks resultaten wordt geproduceerd.

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

Produceert een reeks tuples met elementen uit de drie opgegeven reeksen.

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

Produceert een reeks tuples met elementen uit de twee opgegeven reeksen.

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

Bron:
Zip.cs
Bron:
Zip.cs
Bron:
Zip.cs
Bron:
Zip.cs
Bron:
Zip.cs

Hiermee past u een opgegeven functie toe op de bijbehorende elementen van twee reeksen, waardoor een reeks resultaten wordt geproduceerd.

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)

Type parameters

TFirst

Het type van de elementen van de eerste invoerreeks.

TSecond

Het type van de elementen van de tweede invoerreeks.

TResult

Het type van de elementen van de resultatenreeks.

Parameters

first
IEnumerable<TFirst>

De eerste reeks die moet worden samengevoegd.

second
IEnumerable<TSecond>

De tweede reeks die moet worden samengevoegd.

resultSelector
Func<TFirst,TSecond,TResult>

Een functie die aangeeft hoe de elementen uit de twee reeksen moeten worden samengevoegd.

Retouren

IEnumerable<TResult>

Een IEnumerable<T> met samengevoegde elementen van twee invoerreeksen.

Uitzonderingen

first of second is null.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de Zip methode gebruikt om twee reeksen samen te voegen.

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

Opmerkingen

Deze methode wordt geïmplementeerd met behulp van de uitgestelde uitvoering. De onmiddellijke retourwaarde is een object waarin alle informatie wordt opgeslagen die nodig is om de actie uit te voeren. De query die door deze methode wordt vertegenwoordigd, wordt pas uitgevoerd nadat het object is geïnventariseerd door de methode GetEnumerator rechtstreeks aan te roepen of door foreach te gebruiken in C# of For Each in Visual Basic.

De methode voegt elk element van de eerste reeks samen met een element met dezelfde index in de tweede reeks. Als de reeksen niet hetzelfde aantal elementen hebben, worden reeksen samengevoegd totdat het einde van een van deze reeksen is bereikt. Als één reeks bijvoorbeeld drie elementen heeft en de andere reeks vier elementen heeft, heeft de resultaatvolgorde slechts drie elementen.

Zie ook

Van toepassing op

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

Bron:
Zip.cs
Bron:
Zip.cs
Bron:
Zip.cs
Bron:
Zip.cs
Bron:
Zip.cs

Produceert een reeks tuples met elementen uit de drie opgegeven reeksen.

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

Type parameters

TFirst

Het type van de elementen van de eerste invoerreeks.

TSecond

Het type van de elementen van de tweede invoerreeks.

TThird

Het type van de elementen van de derde invoerreeks.

Parameters

first
IEnumerable<TFirst>

De eerste reeks die moet worden samengevoegd.

second
IEnumerable<TSecond>

De tweede reeks die moet worden samengevoegd.

third
IEnumerable<TThird>

De derde volgorde die moet worden samengevoegd.

Retouren

IEnumerable<ValueTuple<TFirst,TSecond,TThird>>

Een reeks tuples met elementen uit de eerste, tweede en derde volgorde, in die volgorde.

Zie ook

Van toepassing op

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

Bron:
Zip.cs
Bron:
Zip.cs
Bron:
Zip.cs
Bron:
Zip.cs
Bron:
Zip.cs

Produceert een reeks tuples met elementen uit de twee opgegeven reeksen.

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

Type parameters

TFirst

Het type van de elementen van de eerste invoerreeks.

TSecond

Het type van de elementen van de tweede invoerreeks.

Parameters

first
IEnumerable<TFirst>

De eerste reeks die moet worden samengevoegd.

second
IEnumerable<TSecond>

De tweede reeks die moet worden samengevoegd.

Retouren

IEnumerable<ValueTuple<TFirst,TSecond>>

Een reeks tuples met elementen uit de eerste en tweede reeksen, in die volgorde.

Zie ook

Van toepassing op