Queryable.Zip 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
Zip<TFirst,TSecond,TResult>(IQueryable<TFirst>, IEnumerable<TSecond>, Expression<Func<TFirst,TSecond,TResult>>) |
지정된 조건자 함수를 사용하여 두 시퀀스를 병합합니다. |
Zip<TFirst,TSecond,TThird>(IQueryable<TFirst>, IEnumerable<TSecond>, IEnumerable<TThird>) |
지정된 세 시퀀스의 요소를 사용하여 튜플 시퀀스를 생성합니다. |
Zip<TFirst,TSecond>(IQueryable<TFirst>, IEnumerable<TSecond>) |
지정된 두 시퀀스의 요소를 사용하여 튜플 시퀀스를 생성합니다. |
Zip<TFirst,TSecond,TResult>(IQueryable<TFirst>, IEnumerable<TSecond>, Expression<Func<TFirst,TSecond,TResult>>)
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
지정된 조건자 함수를 사용하여 두 시퀀스를 병합합니다.
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)
형식 매개 변수
- TFirst
첫 번째 입력 시퀀스 요소의 형식입니다.
- TSecond
두 번째 입력 시퀀스 요소의 형식입니다.
- TResult
결과 시퀀스 요소의 형식입니다.
매개 변수
- source1
- IQueryable<TFirst>
병합할 첫 번째 시퀀스입니다.
- source2
- IEnumerable<TSecond>
병합할 두 번째 시퀀스입니다.
- resultSelector
- Expression<Func<TFirst,TSecond,TResult>>
두 시퀀스의 요소를 병합하는 방법을 지정하는 함수입니다.
반환
두 입력 시퀀스의 병합된 요소가 들어 있는 IQueryable<T>입니다.
예외
source1
또는 source2
가 null
인 경우
예제
다음 코드 예제를 사용 Zip 하는 방법에 설명 합니다 두 시퀀스를 병합 하는 방법입니다.
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
설명
메서드는 ZipMethodCallExpression 생성된 제네릭 메서드로 자신을 호출 Zip 하는 을 생성합니다. 그런 다음 을 MethodCallExpression 매개 변수의 CreateQuery<TElement>(Expression) 속성으로 나타내는 Provider 의 IQueryProvider 메서드에 source1
전달합니다.
메서드는 첫 번째 시퀀스의 각 요소를 두 번째 시퀀스에서 동일한 인덱스가 있는 요소와 병합합니다. 시퀀스에 동일한 수의 요소가 없는 경우 메서드는 시퀀스가 해당 요소 중 하나의 끝에 도달할 때까지 시퀀스를 병합합니다. 예를 들어 한 시퀀스에 3개의 요소가 있고 다른 시퀀스에 4개의 요소가 있는 경우 결과 시퀀스에는 3개의 요소만 있습니다.
적용 대상
Zip<TFirst,TSecond,TThird>(IQueryable<TFirst>, IEnumerable<TSecond>, IEnumerable<TThird>)
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
지정된 세 시퀀스의 요소를 사용하여 튜플 시퀀스를 생성합니다.
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))
형식 매개 변수
- TFirst
첫 번째 입력 시퀀스 요소의 형식입니다.
- TSecond
두 번째 입력 시퀀스 요소의 형식입니다.
- TThird
세 번째 입력 시퀀스의 요소 형식입니다.
매개 변수
- source1
- IQueryable<TFirst>
병합할 첫 번째 시퀀스입니다.
- source2
- IEnumerable<TSecond>
병합할 두 번째 시퀀스입니다.
- source3
- IEnumerable<TThird>
병합할 세 번째 시퀀스입니다.
반환
첫 번째, 두 번째 및 세 번째 시퀀스에서 가져온 요소를 순서대로 포함하는 튜플 시퀀스입니다.
적용 대상
Zip<TFirst,TSecond>(IQueryable<TFirst>, IEnumerable<TSecond>)
- Source:
- Queryable.cs
- Source:
- Queryable.cs
- Source:
- Queryable.cs
지정된 두 시퀀스의 요소를 사용하여 튜플 시퀀스를 생성합니다.
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))
형식 매개 변수
- TFirst
첫 번째 입력 시퀀스 요소의 형식입니다.
- TSecond
두 번째 입력 시퀀스 요소의 형식입니다.
매개 변수
- source1
- IQueryable<TFirst>
병합할 첫 번째 시퀀스입니다.
- source2
- IEnumerable<TSecond>
병합할 두 번째 시퀀스입니다.
반환
첫 번째 및 두 번째 시퀀스에서 가져온 요소를 순서대로 사용하는 튜플 시퀀스입니다.
적용 대상
.NET