Sdílet prostřednictvím


Enumerable.Zip Metoda

Definice

Přetížení

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

Použije zadanou funkci na odpovídající prvky dvou sekvencí a vytvoří sekvenci výsledků.

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

Vytvoří sekvenci řazených kolekcí členů s prvky ze tří zadaných sekvencí.

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

Vytvoří posloupnost řazených kolekcí členů s prvky ze dvou zadaných sekvencí.

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

Zdroj:
Zip.cs
Zdroj:
Zip.cs
Zdroj:
Zip.cs

Použije zadanou funkci na odpovídající prvky dvou sekvencí a vytvoří sekvenci výsledků.

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)

Parametry typu

TFirst

Typ prvků první vstupní sekvence.

TSecond

Typ prvků druhé vstupní sekvence.

TResult

Typ prvků výsledné sekvence.

Parametry

first
IEnumerable<TFirst>

První sekvence, která se má sloučit.

second
IEnumerable<TSecond>

Druhá sekvence, která se má sloučit.

resultSelector
Func<TFirst,TSecond,TResult>

Funkce, která určuje, jak sloučit prvky ze dvou sekvencí.

Návraty

IEnumerable<TResult>

Obsahuje IEnumerable<T> sloučené prvky dvou vstupních sekvencí.

Výjimky

first nebo second je null.

Příklady

Následující příklad kódu ukazuje, jak použít metodu Zip ke sloučení dvou sekvencí.

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

Poznámky

Tato metoda se implementuje pomocí odloženého spuštění. Okamžitá návratová hodnota je objekt, který ukládá všechny informace potřebné k provedení akce. Dotaz reprezentovaný touto metodou není proveden, dokud objekt není výčet buď voláním jeho GetEnumerator metody přímo, nebo pomocí foreach v jazyce C# nebo For Each v jazyce Visual Basic.

Metoda sloučí každý prvek první sekvence s elementem, který má stejný index v druhé sekvenci. Pokud sekvence nemají stejný počet prvků, metoda sloučí sekvence, dokud nedosáhne konce jednoho z nich. Pokud například jedna sekvence obsahuje tři prvky a druhá čtyři, výsledná sekvence bude obsahovat pouze tři prvky.

Viz také

Platí pro

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

Zdroj:
Zip.cs
Zdroj:
Zip.cs
Zdroj:
Zip.cs

Vytvoří sekvenci řazených kolekcí členů s prvky ze tří zadaných sekvencí.

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

Parametry typu

TFirst

Typ prvků první vstupní sekvence.

TSecond

Typ prvků druhé vstupní sekvence.

TThird

Typ prvků třetí vstupní sekvence.

Parametry

first
IEnumerable<TFirst>

První sekvence, která se má sloučit.

second
IEnumerable<TSecond>

Druhá sekvence, která se má sloučit.

third
IEnumerable<TThird>

Třetí sekvence, která se má sloučit.

Návraty

IEnumerable<ValueTuple<TFirst,TSecond,TThird>>

Posloupnost řazených kolekcí členů s prvky převzatými z první, druhé a třetí sekvence v uvedeném pořadí.

Viz také

Platí pro

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

Zdroj:
Zip.cs
Zdroj:
Zip.cs
Zdroj:
Zip.cs

Vytvoří posloupnost řazených kolekcí členů s prvky ze dvou zadaných sekvencí.

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

Parametry typu

TFirst

Typ prvků první vstupní sekvence.

TSecond

Typ prvků druhé vstupní sekvence.

Parametry

first
IEnumerable<TFirst>

První sekvence, která se má sloučit.

second
IEnumerable<TSecond>

Druhá sekvence, která se má sloučit.

Návraty

IEnumerable<ValueTuple<TFirst,TSecond>>

Posloupnost řazených kolekcí členů s prvky převzatými z první a druhé sekvence v uvedeném pořadí.

Viz také

Platí pro