Enumerable.Zip Methode

Definition

Überlädt

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

Wendet eine angegebene Funktion auf die entsprechenden Elemente von zwei Sequenzen an, wodurch eine Folge der Ergebnisse erzeugt wird.

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

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

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

Erzeugt eine Abfolge von Tupeln mit Elementen aus den beiden angegebenen Sequenzen.

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

Quelle:
Zip.cs
Quelle:
Zip.cs
Quelle:
Zip.cs
Quelle:
Zip.cs
Quelle:
Zip.cs

Wendet eine angegebene Funktion auf die entsprechenden Elemente von zwei Sequenzen an, wodurch eine Folge der Ergebnisse erzeugt wird.

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 der Ergebnissequenz.

Parameter

first
IEnumerable<TFirst>

Die erste Zusammenführungssequenz.

second
IEnumerable<TSecond>

Die zweite Zusammenführungssequenz.

resultSelector
Func<TFirst,TSecond,TResult>

Eine Funktion, die angibt, wie die Elemente aus den beiden Sequenzen zusammengeführt werden.

Gibt zurück

IEnumerable<TResult>

Ein IEnumerable<T> Element, das zusammengeführte Elemente von zwei 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 durch diese Methode dargestellte Abfrage wird erst ausgeführt, wenn das Objekt aufgezählt wird, indem die GetEnumerator-Methode direkt oder mithilfe von foreach in C# oder For Each in Visual Basic aufgerufen 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 über dieselbe Anzahl von Elementen verfügen, führt die Methode Sequenzen zusammen, bis sie das Ende eines elements erreicht. Wenn z. B. eine Sequenz drei Elemente aufweist und das andere element vier hat, hat die Ergebnissequenz nur drei Elemente.

Weitere Informationen

Gilt für:

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

Quelle:
Zip.cs
Quelle:
Zip.cs
Quelle:
Zip.cs
Quelle:
Zip.cs
Quelle:
Zip.cs

Erzeugt eine Abfolge 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 Zusammenführungssequenz.

second
IEnumerable<TSecond>

Die zweite Zusammenführungssequenz.

third
IEnumerable<TThird>

Die dritte Sequenz, die zusammengeführt werden soll.

Gibt zurück

IEnumerable<ValueTuple<TFirst,TSecond,TThird>>

Eine Abfolge von Tupeln mit Elementen, die aus den ersten, zweiten und dritten Sequenzen in dieser Reihenfolge stammen.

Weitere Informationen

Gilt für:

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

Quelle:
Zip.cs
Quelle:
Zip.cs
Quelle:
Zip.cs
Quelle:
Zip.cs
Quelle:
Zip.cs

Erzeugt eine Abfolge von Tupeln 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 Zusammenführungssequenz.

second
IEnumerable<TSecond>

Die zweite Zusammenführungssequenz.

Gibt zurück

IEnumerable<ValueTuple<TFirst,TSecond>>

Eine Abfolge von Tupeln mit Elementen aus den ersten und zweiten Sequenzen in dieser Reihenfolge.

Weitere Informationen

Gilt für: