Queryable.Zip Yöntem

Tanım

Aşırı Yüklemeler

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

Belirtilen koşul işlevini kullanarak iki diziyi birleştirir.

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

Belirtilen üç dizideki öğelerle bir demet dizisi oluşturur.

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

Belirtilen iki dizideki öğelerle bir demet dizisi oluşturur.

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

Kaynak:
Queryable.cs
Kaynak:
Queryable.cs
Kaynak:
Queryable.cs

Belirtilen koşul işlevini kullanarak iki diziyi birleştirir.

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)

Tür Parametreleri

TFirst

İlk giriş dizisinin öğelerinin türü.

TSecond

İkinci giriş dizisinin öğelerinin türü.

TResult

Sonuç dizisi öğelerinin türü.

Parametreler

source1
IQueryable<TFirst>

Birleştirilecek ilk sıra.

source2
IEnumerable<TSecond>

Birleştirilecek ikinci dizi.

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

İki dizideki öğelerin nasıl birleştirildiğini belirten bir işlev.

Döndürülenler

IQueryable<TResult>

IQueryable<T> İki giriş dizisinin birleştirilmiş öğelerini içeren bir.

Özel durumlar

source1 veya source2 şeklindedir null.

Örnekler

Aşağıdaki kod örneği, iki diziyi birleştirmek için yönteminin Zip nasıl kullanılacağını gösterir.

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

Açıklamalar

yöntemi, Zip kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağırmayı Zip temsil eden bir oluşturur. Daha sonra parametresinin özelliği tarafından Provider temsil edilen yöntemine IQueryProvidersource1 iletirMethodCallExpression.CreateQuery<TElement>(Expression)

yöntemi, ilk dizinin her bir öğesini ikinci dizide aynı dizine sahip bir öğeyle birleştirir. Diziler aynı sayıda öğeye sahip değilse, yöntem dizileri bunlardan birinin sonuna ulaşana kadar birleştirir. Örneğin, bir dizide üç öğe varsa ve diğerinde dört öğe varsa, sonuçta elde edilen dizide yalnızca üç öğe olur.

Şunlara uygulanır

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

Kaynak:
Queryable.cs
Kaynak:
Queryable.cs
Kaynak:
Queryable.cs

Belirtilen üç dizideki öğelerle bir demet dizisi oluşturur.

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

Tür Parametreleri

TFirst

İlk giriş dizisinin öğelerinin türü.

TSecond

İkinci giriş dizisinin öğelerinin türü.

TThird

Üçüncü giriş dizisinin öğelerinin türü.

Parametreler

source1
IQueryable<TFirst>

Birleştirilecek ilk sıra.

source2
IEnumerable<TSecond>

Birleştirilecek ikinci dizi.

source3
IEnumerable<TThird>

Birleştirilecek üçüncü sıra.

Döndürülenler

IQueryable<ValueTuple<TFirst,TSecond,TThird>>

Birinci, ikinci ve üçüncü sıralardan alınan öğeleri içeren bir demet dizisi.

Şunlara uygulanır

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

Kaynak:
Queryable.cs
Kaynak:
Queryable.cs
Kaynak:
Queryable.cs

Belirtilen iki dizideki öğelerle bir demet dizisi oluşturur.

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

Tür Parametreleri

TFirst

İlk giriş dizisinin öğelerinin türü.

TSecond

İkinci giriş dizisinin öğelerinin türü.

Parametreler

source1
IQueryable<TFirst>

Birleştirilecek ilk sıra.

source2
IEnumerable<TSecond>

Birleştirilecek ikinci dizi.

Döndürülenler

IQueryable<ValueTuple<TFirst,TSecond>>

Birinci ve ikinci dizilerden alınan öğelerin bu sırada olduğu bir tanımlama grubu dizisi.

Şunlara uygulanır