Aracılığıyla paylaş


Queryable.Zip Yöntem

Tanım

Aşırı Yüklemeler

Name Description
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
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);
[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)

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 sıra.

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.

Öznitelikler

Ö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ğıran Zip bir oluşturur. Ardından parametresinin özelliği tarafından Provider temsil edilen yöntemine source1IQueryProvider iletirMethodCallExpression.CreateQuery<TElement>(Expression)

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

Şunlara uygulanır

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

Kaynak:
Queryable.cs
Kaynak:
Queryable.cs
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);
[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))

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 sıra.

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.

Öznitelikler

Şunlara uygulanır

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

Kaynak:
Queryable.cs
Kaynak:
Queryable.cs
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);
[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))

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 sıra.

Döndürülenler

IQueryable<ValueTuple<TFirst,TSecond>>

Birinci ve ikinci dizilerden alınan öğeleri içeren bir demet dizisi.

Öznitelikler

Şunlara uygulanır