Queryable.Zip Methode

Definitie

Overloads

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

Hiermee worden twee reeksen samengevoegd met behulp van de opgegeven predicaatfunctie.

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

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

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

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

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

Bron:
Queryable.cs
Bron:
Queryable.cs
Bron:
Queryable.cs
Bron:
Queryable.cs
Bron:
Queryable.cs

Hiermee worden twee reeksen samengevoegd met behulp van de opgegeven predicaatfunctie.

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)

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

source1
IQueryable<TFirst>

De eerste reeks die moet worden samengevoegd.

source2
IEnumerable<TSecond>

De tweede reeks die moet worden samengevoegd.

resultSelector
Expression<Func<TFirst,TSecond,TResult>>

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

Retouren

IQueryable<TResult>

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

Kenmerken

Uitzonderingen

source1 of source2 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.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

Opmerkingen

De Zip methode genereert een MethodCallExpression die zichzelf aanroept Zip als een samengestelde algemene methode. Vervolgens wordt de MethodCallExpression methode doorgegeven aan de CreateQuery<TElement>(Expression) methode van de IQueryProvider vertegenwoordigd door de Provider eigenschap van de source1 parameter.

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 resulterende reeks slechts drie elementen.

Van toepassing op

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

Bron:
Queryable.cs
Bron:
Queryable.cs
Bron:
Queryable.cs
Bron:
Queryable.cs
Bron:
Queryable.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::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))

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

source1
IQueryable<TFirst>

De eerste reeks die moet worden samengevoegd.

source2
IEnumerable<TSecond>

De tweede reeks die moet worden samengevoegd.

source3
IEnumerable<TThird>

De derde volgorde die moet worden samengevoegd.

Retouren

IQueryable<ValueTuple<TFirst,TSecond,TThird>>

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

Kenmerken

Van toepassing op

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

Bron:
Queryable.cs
Bron:
Queryable.cs
Bron:
Queryable.cs
Bron:
Queryable.cs
Bron:
Queryable.cs

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

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

Type parameters

TFirst

Het type van de elementen van de eerste invoerreeks.

TSecond

Het type van de elementen van de tweede invoerreeks.

Parameters

source1
IQueryable<TFirst>

De eerste reeks die moet worden samengevoegd.

source2
IEnumerable<TSecond>

De tweede reeks die moet worden samengevoegd.

Retouren

IQueryable<ValueTuple<TFirst,TSecond>>

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

Kenmerken

Van toepassing op