Freigeben über


Queryable.Zip Methode

Definition

Überlädt

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

Führt zwei Sequenzen mithilfe der angegebenen Prädikatfunktion zusammen.

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

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

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

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

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

Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs
Quelle:
Queryable.cs

Führt zwei Sequenzen mithilfe der angegebenen Prädikatfunktion zusammen.

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)

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

source1
IQueryable<TFirst>

Die erste Zusammenführungssequenz.

source2
IEnumerable<TSecond>

Die zweite Zusammenführungssequenz.

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

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

Gibt zurück

IQueryable<TResult>

Ein IQueryable<T> Element, das zusammengeführte Elemente von zwei Eingabesequenzen enthält.

Attribute

Ausnahmen

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

Hinweise

Die Zip Methode generiert eine MethodCallExpression , die den Aufruf Zip selbst als konstruierte generische Methode darstellt. Anschließend wird die MethodCallExpression Methode der CreateQuery<TElement>(Expression)IQueryProvider durch die Provider Eigenschaft des source1 Parameters dargestellten Methode übergeben.

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 die andere vier hat, hat die resultierende Sequenz nur drei Elemente.

Gilt für:

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

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

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

source1
IQueryable<TFirst>

Die erste Zusammenführungssequenz.

source2
IEnumerable<TSecond>

Die zweite Zusammenführungssequenz.

source3
IEnumerable<TThird>

Die dritte Sequenz, die zusammengeführt werden soll.

Gibt zurück

IQueryable<ValueTuple<TFirst,TSecond,TThird>>

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

Attribute

Gilt für:

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

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

Typparameter

TFirst

Der Typ der Elemente der ersten Eingabesequenz.

TSecond

Der Typ der Elemente der zweiten Eingabesequenz.

Parameter

source1
IQueryable<TFirst>

Die erste Zusammenführungssequenz.

source2
IEnumerable<TSecond>

Die zweite Zusammenführungssequenz.

Gibt zurück

IQueryable<ValueTuple<TFirst,TSecond>>

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

Attribute

Gilt für: