Bagikan melalui


Queryable.Zip Metode

Definisi

Overload

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

Menggabungkan dua urutan dengan menggunakan fungsi predikat yang ditentukan.

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

Menghasilkan urutan tuple dengan elemen dari tiga urutan yang ditentukan.

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

Menghasilkan urutan tuple dengan elemen dari dua urutan yang ditentukan.

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

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

Menggabungkan dua urutan dengan menggunakan fungsi predikat yang ditentukan.

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)

Jenis parameter

TFirst

Jenis elemen urutan input pertama.

TSecond

Jenis elemen urutan input kedua.

TResult

Jenis elemen urutan hasil.

Parameter

source1
IQueryable<TFirst>

Urutan pertama untuk digabungkan.

source2
IEnumerable<TSecond>

Urutan kedua untuk digabungkan.

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

Fungsi yang menentukan cara menggabungkan elemen dari dua urutan.

Mengembalikan

IQueryable<TResult>

Yang IQueryable<T> berisi elemen gabungan dari dua urutan input.

Pengecualian

source1 atau source2 adalah null.

Contoh

Contoh kode berikut menunjukkan cara menggunakan Zip metode untuk menggabungkan dua urutan.

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

Keterangan

Metode ini Zip menghasilkan MethodCallExpression yang mewakili pemanggilan Zip dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke CreateQuery<TElement>(Expression) metode dari yang IQueryProvider diwakili oleh Provider properti source1 parameter .

Metode menggabungkan setiap elemen urutan pertama dengan elemen yang memiliki indeks yang sama dalam urutan kedua. Jika urutan tidak memiliki jumlah elemen yang sama, metode menggabungkan urutan hingga mencapai akhir salah satunya. Misalnya, jika satu urutan memiliki tiga elemen dan yang lain memiliki empat, urutan yang dihasilkan hanya akan memiliki tiga elemen.

Berlaku untuk

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

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

Menghasilkan urutan tuple dengan elemen dari tiga urutan yang ditentukan.

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

Jenis parameter

TFirst

Jenis elemen urutan input pertama.

TSecond

Jenis elemen urutan input kedua.

TThird

Jenis elemen urutan input ketiga.

Parameter

source1
IQueryable<TFirst>

Urutan pertama untuk digabungkan.

source2
IEnumerable<TSecond>

Urutan kedua untuk digabungkan.

source3
IEnumerable<TThird>

Urutan ketiga untuk digabungkan.

Mengembalikan

IQueryable<ValueTuple<TFirst,TSecond,TThird>>

Urutan tuple dengan elemen yang diambil dari urutan pertama, kedua, dan ketiga, dalam urutan tersebut.

Berlaku untuk

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

Sumber:
Queryable.cs
Sumber:
Queryable.cs
Sumber:
Queryable.cs

Menghasilkan urutan tuple dengan elemen dari dua urutan yang ditentukan.

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

Jenis parameter

TFirst

Jenis elemen urutan input pertama.

TSecond

Jenis elemen urutan input kedua.

Parameter

source1
IQueryable<TFirst>

Urutan pertama untuk digabungkan.

source2
IEnumerable<TSecond>

Urutan kedua untuk digabungkan.

Mengembalikan

IQueryable<ValueTuple<TFirst,TSecond>>

Urutan tuple dengan elemen yang diambil dari urutan pertama dan kedua, dalam urutan tersebut.

Berlaku untuk