Queryable.Zip Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
| Name | Description |
|---|---|
| Zip<TFirst,TSecond,TResult>(IQueryable<TFirst>, IEnumerable<TSecond>, Expression<Func<TFirst,TSecond,TResult>>) |
Sloučí dvě sekvence pomocí zadané predikátové funkce. |
| Zip<TFirst,TSecond,TThird>(IQueryable<TFirst>, IEnumerable<TSecond>, IEnumerable<TThird>) |
Vytvoří sekvenci řazených kolekcí členů s prvky ze tří zadaných sekvencí. |
| Zip<TFirst,TSecond>(IQueryable<TFirst>, IEnumerable<TSecond>) |
Vytvoří sekvenci řazených kolekcí členů s prvky ze dvou zadaných sekvencí. |
Zip<TFirst,TSecond,TResult>(IQueryable<TFirst>, IEnumerable<TSecond>, Expression<Func<TFirst,TSecond,TResult>>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Sloučí dvě sekvence pomocí zadané predikátové funkce.
public:
generic <typename TFirst, typename TSecond, typename TResult>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IQueryable<TResult> ^ Zip(System::Linq::IQueryable<TFirst> ^ source1, System::Collections::Generic::IEnumerable<TSecond> ^ source2, System::Linq::Expressions::Expression<Func<TFirst, TSecond, TResult> ^> ^ resultSelector);
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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
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);
static member Zip : System.Linq.IQueryable<'First> * seq<'Second> * System.Linq.Expressions.Expression<Func<'First, 'Second, 'Result>> -> System.Linq.IQueryable<'Result>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Zip : System.Linq.IQueryable<'First> * seq<'Second> * System.Linq.Expressions.Expression<Func<'First, 'Second, 'Result>> -> System.Linq.IQueryable<'Result>
<Extension()>
Public Function Zip(Of TFirst, TSecond, TResult) (source1 As IQueryable(Of TFirst), source2 As IEnumerable(Of TSecond), resultSelector As Expression(Of Func(Of TFirst, TSecond, TResult))) As IQueryable(Of TResult)
Parametry typu
- TFirst
Typ prvků první vstupní sekvence.
- TSecond
Typ prvků druhé vstupní sekvence.
- TResult
Typ prvků výsledné sekvence.
Parametry
- source1
- IQueryable<TFirst>
První posloupnost, která se má sloučit.
- source2
- IEnumerable<TSecond>
Druhá sekvence, která se má sloučit.
- resultSelector
- Expression<Func<TFirst,TSecond,TResult>>
Funkce, která určuje, jak sloučit prvky ze dvou sekvencí.
Návraty
Obsahuje IQueryable<T> sloučené prvky dvou vstupních sekvencí.
- Atributy
Výjimky
source1 nebo source2 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.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
Dim numbers() As Integer = {1, 2, 3, 4}
Dim words() As String = {"one", "two", "three"}
Dim numbersAndWords = numbers.AsQueryable().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
Metoda Zip vygeneruje MethodCallExpression , která představuje samotné volání Zip jako vytvořenou obecnou metodu. Pak předá MethodCallExpression metodu IQueryProviderCreateQuery<TElement>(Expression) reprezentované Provider vlastností parametrusource1.
Metoda sloučí každý prvek první sekvence s prvkem, který má stejný index ve druhé sekvenci. Pokud sekvence nemají stejný počet prvků, metoda sloučí sekvence, dokud nedosáhne konce jednoho z nich. Pokud má například jedna sekvence tři prvky a druhá má čtyři, výsledná sekvence bude mít pouze tři prvky.
Platí pro
Zip<TFirst,TSecond,TThird>(IQueryable<TFirst>, IEnumerable<TSecond>, IEnumerable<TThird>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.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::Linq::IQueryable<ValueTuple<TFirst, TSecond, TThird>> ^ Zip(System::Linq::IQueryable<TFirst> ^ source1, System::Collections::Generic::IEnumerable<TSecond> ^ source2, System::Collections::Generic::IEnumerable<TThird> ^ source3);
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);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
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);
static member Zip : System.Linq.IQueryable<'First> * seq<'Second> * seq<'hird> -> System.Linq.IQueryable<ValueTuple<'First, 'Second, 'hird>>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Zip : System.Linq.IQueryable<'First> * seq<'Second> * seq<'hird> -> System.Linq.IQueryable<ValueTuple<'First, 'Second, 'hird>>
<Extension()>
Public Function Zip(Of TFirst, TSecond, TThird) (source1 As IQueryable(Of TFirst), source2 As IEnumerable(Of TSecond), source3 As IEnumerable(Of TThird)) As IQueryable(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
- source1
- IQueryable<TFirst>
První posloupnost, která se má sloučit.
- source2
- IEnumerable<TSecond>
Druhá sekvence, která se má sloučit.
- source3
- IEnumerable<TThird>
Třetí sekvence, která se má sloučit.
Návraty
Posloupnost řazených kolekcí členů s prvky převzatými z první, druhé a třetí sekvence v uvedeném pořadí.
- Atributy
Platí pro
Zip<TFirst,TSecond>(IQueryable<TFirst>, IEnumerable<TSecond>)
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
- Zdroj:
- Queryable.cs
Vytvoří sekvenci řazených kolekcí členů s prvky ze dvou zadaných sekvencí.
public:
generic <typename TFirst, typename TSecond>
[System::Runtime::CompilerServices::Extension]
static System::Linq::IQueryable<ValueTuple<TFirst, TSecond>> ^ Zip(System::Linq::IQueryable<TFirst> ^ source1, System::Collections::Generic::IEnumerable<TSecond> ^ source2);
public static System.Linq.IQueryable<(TFirst First, TSecond Second)> Zip<TFirst,TSecond>(this System.Linq.IQueryable<TFirst> source1, System.Collections.Generic.IEnumerable<TSecond> source2);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")]
public static System.Linq.IQueryable<(TFirst First, TSecond Second)> Zip<TFirst,TSecond>(this System.Linq.IQueryable<TFirst> source1, System.Collections.Generic.IEnumerable<TSecond> source2);
static member Zip : System.Linq.IQueryable<'First> * seq<'Second> -> System.Linq.IQueryable<ValueTuple<'First, 'Second>>
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Enumerating collections as IQueryable can require creating new generic types or methods, which requires creating code at runtime. This may not work when AOT compiling.")>]
static member Zip : System.Linq.IQueryable<'First> * seq<'Second> -> System.Linq.IQueryable<ValueTuple<'First, 'Second>>
<Extension()>
Public Function Zip(Of TFirst, TSecond) (source1 As IQueryable(Of TFirst), source2 As IEnumerable(Of TSecond)) As IQueryable(Of ValueTuple(Of TFirst, TSecond))
Parametry typu
- TFirst
Typ prvků první vstupní sekvence.
- TSecond
Typ prvků druhé vstupní sekvence.
Parametry
- source1
- IQueryable<TFirst>
První posloupnost, která se má sloučit.
- source2
- IEnumerable<TSecond>
Druhá sekvence, která se má sloučit.
Návraty
Posloupnost řazených kolekcí členů s prvky převzatými z první a druhé sekvence v uvedeném pořadí.
- Atributy