Queryable.Zip Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przeciążenia
Zip<TFirst,TSecond,TResult>(IQueryable<TFirst>, IEnumerable<TSecond>, Expression<Func<TFirst,TSecond,TResult>>) |
Scala dwie sekwencje przy użyciu określonej funkcji predykatu. |
Zip<TFirst,TSecond,TThird>(IQueryable<TFirst>, IEnumerable<TSecond>, IEnumerable<TThird>) |
Tworzy sekwencję krotki z elementami z trzech określonych sekwencji. |
Zip<TFirst,TSecond>(IQueryable<TFirst>, IEnumerable<TSecond>) |
Tworzy sekwencję krotki z elementami z dwóch określonych sekwencji. |
Zip<TFirst,TSecond,TResult>(IQueryable<TFirst>, IEnumerable<TSecond>, Expression<Func<TFirst,TSecond,TResult>>)
- Źródło:
- Queryable.cs
- Źródło:
- Queryable.cs
- Źródło:
- Queryable.cs
Scala dwie sekwencje przy użyciu określonej funkcji predykatu.
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)
Parametry typu
- TFirst
Typ elementów pierwszej sekwencji wejściowej.
- TSecond
Typ elementów drugiej sekwencji wejściowej.
- TResult
Typ elementów sekwencji wyników.
Parametry
- source1
- IQueryable<TFirst>
Pierwsza sekwencja do scalenia.
- source2
- IEnumerable<TSecond>
Druga sekwencja do scalenia.
- resultSelector
- Expression<Func<TFirst,TSecond,TResult>>
Funkcja określająca sposób scalania elementów z dwóch sekwencji.
Zwraca
Element IQueryable<T> zawierający scalone elementy dwóch sekwencji wejściowych.
Wyjątki
source1
lub source2
to null
.
Przykłady
W poniższym przykładzie kodu pokazano, jak używać Zip metody do scalania dwóch sekwencji.
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
Uwagi
Metoda Zip generuje element MethodCallExpression , który reprezentuje wywołanie Zip siebie jako skonstruowaną metodę ogólną. Następnie przekazuje MethodCallExpression element do CreateQuery<TElement>(Expression) metody reprezentowanej IQueryProvider przez Provider właściwość parametru source1
.
Metoda scala każdy element pierwszej sekwencji z elementem, który ma ten sam indeks w drugiej sekwencji. Jeśli sekwencje nie mają tej samej liczby elementów, metoda scala sekwencje do momentu osiągnięcia końca jednego z nich. Jeśli na przykład jedna sekwencja ma trzy elementy, a druga ma cztery, wynikowa sekwencja będzie zawierać tylko trzy elementy.
Dotyczy
Zip<TFirst,TSecond,TThird>(IQueryable<TFirst>, IEnumerable<TSecond>, IEnumerable<TThird>)
- Źródło:
- Queryable.cs
- Źródło:
- Queryable.cs
- Źródło:
- Queryable.cs
Tworzy sekwencję krotki z elementami z trzech określonych sekwencji.
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))
Parametry typu
- TFirst
Typ elementów pierwszej sekwencji wejściowej.
- TSecond
Typ elementów drugiej sekwencji wejściowej.
- TThird
Typ elementów trzeciej sekwencji wejściowej.
Parametry
- source1
- IQueryable<TFirst>
Pierwsza sekwencja do scalenia.
- source2
- IEnumerable<TSecond>
Druga sekwencja do scalenia.
- source3
- IEnumerable<TThird>
Trzecia sekwencja do scalenia.
Zwraca
Sekwencja krotki z elementami pobranymi z pierwszej, drugiej i trzeciej sekwencji w tej kolejności.
Dotyczy
Zip<TFirst,TSecond>(IQueryable<TFirst>, IEnumerable<TSecond>)
- Źródło:
- Queryable.cs
- Źródło:
- Queryable.cs
- Źródło:
- Queryable.cs
Tworzy sekwencję krotki z elementami z dwóch określonych sekwencji.
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))
Parametry typu
- TFirst
Typ elementów pierwszej sekwencji wejściowej.
- TSecond
Typ elementów drugiej sekwencji wejściowej.
Parametry
- source1
- IQueryable<TFirst>
Pierwsza sekwencja do scalenia.
- source2
- IEnumerable<TSecond>
Druga sekwencja do scalenia.
Zwraca
Sekwencja krotki z elementami pobranymi z pierwszej i drugiej sekwencji w tej kolejności.