Queryable.Zip Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
Zip<TFirst,TSecond,TResult>(IQueryable<TFirst>, IEnumerable<TSecond>, Expression<Func<TFirst,TSecond,TResult>>) |
Führt zwei Sequenzen mit der angegebenen Prädikatfunktion zusammen. |
Zip<TFirst,TSecond,TThird>(IQueryable<TFirst>, IEnumerable<TSecond>, IEnumerable<TThird>) |
Erzeugt eine Sequenz von Tupeln mit Elementen aus den drei angegebenen Sequenzen. |
Zip<TFirst,TSecond>(IQueryable<TFirst>, IEnumerable<TSecond>) |
Erzeugt eine Tupelsequenz 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
Führt zwei Sequenzen mit 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);
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 in der Ergebnissequenz.
Parameter
- source1
- IQueryable<TFirst>
Die erste Sequenz, die zusammengeführt werden soll
- source2
- IEnumerable<TSecond>
Die zweite Sequenz, die zusammengeführt werden soll
- resultSelector
- Expression<Func<TFirst,TSecond,TResult>>
Eine Funktion, die angibt, wie die Elemente der zwei Sequenzen zusammengeführt werden sollen
Gibt zurück
Ein IQueryable<T>, das die zusammengeführten Elemente der beiden Eingabesequenzen enthält
Ausnahmen
source1
oder source2
ist null
.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie die Zip -Methode verwendet wird, um zwei Sequenzen zusammenzuführen.
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 an MethodCallExpression die CreateQuery<TElement>(Expression) -Methode des übergeben, das IQueryProvider durch die Provider -Eigenschaft des source1
-Parameters dargestellt 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 die gleiche Anzahl von Elementen aufweisen, führt die -Methode Sequenzen zusammen, bis sie das Ende eines davon erreicht. Wenn z. B. eine Sequenz drei Elemente und die andere über vier Elemente verfügt, enthält 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
Erzeugt eine Sequenz 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);
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 Sequenz, die zusammengeführt werden soll
- source2
- IEnumerable<TSecond>
Die zweite Sequenz, die zusammengeführt werden soll
- source3
- IEnumerable<TThird>
Die dritte zusammenzuführende Sequenz.
Gibt zurück
Eine Sequenz von Tupeln mit Elementen aus der ersten, zweiten und dritten Sequenz in dieser Reihenfolge.
Gilt für:
Zip<TFirst,TSecond>(IQueryable<TFirst>, IEnumerable<TSecond>)
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
- Quelle:
- Queryable.cs
Erzeugt eine Tupelsequenz 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);
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 Sequenz, die zusammengeführt werden soll
- source2
- IEnumerable<TSecond>
Die zweite Sequenz, die zusammengeführt werden soll
Gibt zurück
Eine Tupelsequenz mit Elementen, die der ersten und zweiten Sequenz in dieser Reihenfolge entnommen wurden.