Enumerable.Zip Methode

Definition

Überlädt

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

Wendet eine Funktion auf die entsprechenden Elemente von zwei Sequenzen an, und erzeugt eine Sequenz der Ergebnisse

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

Erzeugt eine Sequenz von Tupeln mit Elementen aus den drei angegebenen Sequenzen.

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

Erzeugt eine Tupelsequenz mit Elementen aus den beiden angegebenen Sequenzen.

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

Wendet eine Funktion auf die entsprechenden Elemente von zwei Sequenzen an, und erzeugt eine Sequenz der Ergebnisse

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)

Typparameter

TFirst

Der Typ der Elemente der ersten Eingabesequenz.

TSecond

Der Typ der Elemente der zweiten Eingabesequenz.

TResult

Der Typ der Elemente in der Ergebnissequenz.

Parameter

first
IEnumerable<TFirst>

Die erste Sequenz, die zusammengeführt werden soll

second
IEnumerable<TSecond>

Die zweite Sequenz, die zusammengeführt werden soll

resultSelector
Func<TFirst,TSecond,TResult>

Eine Funktion, die angibt, wie die Elemente der zwei Sequenzen zusammengeführt werden sollen

Gibt zurück

IEnumerable<TResult>

Ein IEnumerable<T>, das die zusammengeführten Elemente der beiden Eingabesequenzen enthält

Ausnahmen

first oder second ist null.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die Zip -Methode zum Zusammenführen von zwei Sequenzen verwendet wird.

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

Hinweise

Diese Methode wird mithilfe der verzögerten Ausführung implementiert. Der Sofortige Rückgabewert ist ein Objekt, das alle Informationen speichert, die zum Ausführen der Aktion erforderlich sind. Die von dieser Methode dargestellte Abfrage wird erst ausgeführt, wenn das Objekt entweder durch direktes Aufrufen der GetEnumerator -Methode oder mithilfe foreach von in C# oder For Each in Visual Basic aufgezählt wird.

Die -Methode führt jedes Element der ersten Sequenz mit einem Element zusammen, das denselben Index in der zweiten Sequenz aufweist. Wenn die Sequenzen nicht die gleiche Anzahl von Elementen aufweisen, führt die -Methode Sequenzen zusammen, bis sie das Ende eines von ihnen erreicht. Wenn eine Sequenz beispielsweise drei Elemente und die andere vier Elemente aufweist, enthält die Ergebnissequenz nur drei Elemente.

Weitere Informationen

Gilt für:

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

Erzeugt eine Sequenz von Tupeln mit Elementen aus den drei angegebenen Sequenzen.

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

Typparameter

TFirst

Der Typ der Elemente der ersten Eingabesequenz.

TSecond

Der Typ der Elemente der zweiten Eingabesequenz.

TThird

Der Typ der Elemente der dritten Eingabesequenz.

Parameter

first
IEnumerable<TFirst>

Die erste Sequenz, die zusammengeführt werden soll

second
IEnumerable<TSecond>

Die zweite Sequenz, die zusammengeführt werden soll

third
IEnumerable<TThird>

Die dritte Sequenz, die zusammengeführt werden soll.

Gibt zurück

IEnumerable<ValueTuple<TFirst,TSecond,TThird>>

Eine Sequenz von Tupeln mit Elementen aus der ersten, zweiten und dritten Sequenz in dieser Reihenfolge.

Weitere Informationen

Gilt für:

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

Erzeugt eine Tupelsequenz mit Elementen aus den beiden angegebenen Sequenzen.

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

Typparameter

TFirst

Der Typ der Elemente der ersten Eingabesequenz.

TSecond

Der Typ der Elemente der zweiten Eingabesequenz.

Parameter

first
IEnumerable<TFirst>

Die erste Sequenz, die zusammengeführt werden soll

second
IEnumerable<TSecond>

Die zweite Sequenz, die zusammengeführt werden soll

Gibt zurück

IEnumerable<ValueTuple<TFirst,TSecond>>

Eine Tupelsequenz mit Elementen, die der ersten und zweiten Sequenz in dieser Reihenfolge entnommen wurden.

Weitere Informationen

Gilt für: