다음을 통해 공유


Observable.Concat<TSource> 메서드(IObservable<TSource>, IObservable<TSource>)

두 개의 관찰 가능한 시퀀스를 연결합니다.

네임스페이스:System.Reactive.Linq
어셈블리: System.Reactive(System.Reactive.dll)

Syntax

'Declaration
<ExtensionAttribute> _
Public Shared Function Concat(Of TSource) ( _
    first As IObservable(Of TSource), _
    second As IObservable(Of TSource) _
) As IObservable(Of TSource)
'Usage
Dim first As IObservable(Of TSource)
Dim second As IObservable(Of TSource)
Dim returnValue As IObservable(Of TSource)

returnValue = first.Concat(second)
public static IObservable<TSource> Concat<TSource>(
    this IObservable<TSource> first,
    IObservable<TSource> second
)
[ExtensionAttribute]
public:
generic<typename TSource>
static IObservable<TSource>^ Concat(
    IObservable<TSource>^ first, 
    IObservable<TSource>^ second
)
static member Concat : 
        first:IObservable<'TSource> * 
        second:IObservable<'TSource> -> IObservable<'TSource> 
JScript does not support generic types and methods.

형식 매개 변수

  • TSource
    원본의 형식입니다.

매개 변수

  • first
    형식: System.IObservable<TSource>
    관찰 가능한 첫 번째 시퀀스입니다.
  • second
    형식: System.IObservable<TSource>
    관찰 가능한 두 번째 시퀀스입니다.

반환 값

형식: System.IObservable<TSource>
첫 번째 시퀀스의 요소를 포함하고 두 번째 시퀀스의 요소를 포함하는 관찰 가능한 시퀀스입니다.

사용 정보

Visual Basic 및 C#에서는 IObservable TSource> 형식의 모든 개체에서 이 메서드를 instance 메서드로 호출할 수 있습니다<. 인스턴스 메서드 구문을 사용하여 이 메서드를 호출할 경우에는 첫 번째 매개 변수를 생략합니다. 자세한 내용은 또는 를 참조하세요.

설명

Concat 연산자는 완료할 첫 번째 시퀀스를 실행합니다. 그런 다음 두 번째 시퀀스를 실행하여 두 번째 시퀀스를 첫 번째 시퀀스의 끝에 효과적으로 연결합니다. 이 연산자의 다른 오버로드는 두 개 이상의 관찰 가능한 시퀀스를 연결하도록 허용합니다. Concat 연산자를 확장 메서드로 호출할 때 첫 번째 매개 변수는 확장 메서드가 실행되는 시퀀스입니다. 이 내용은 이 항목의 코드 예제에서 설명합니다. 두 번째 매개 변수로 연산자에 전달된 시퀀스는 첫 번째 시퀀스가 완료될 때만 첫 번째 시퀀스에 연결됩니다. 따라서 두 번째 시퀀스에 대한 구독은 첫 번째 시퀀스가 완료될 때까지 지연됩니다. 예외 또는 차단으로 인해 완료까지 실행되지 않으면 두 번째 시퀀스에 대한 구독이 만들어지지 않습니다.

예제

이 예제 코드는 정수 1-6의 시퀀스를 생성하기 위해 두 개의 정수 시퀀스를 연결하는 방법을 보여 줍니다. 각 정수는 콘솔 창에 기록됩니다.

using System;
using System.Collections.Generic;
using System.Reactive.Linq;

namespace Example
{

  class Program
  {

    static void Main()
    {
      int[] sequence1 = {1, 2, 3};
      int[] sequence2 = {4, 5, 6};
      
      //*** Create a new observable sequence of integers by concatenating sequence2 to sequence1 ***//
      IObservable<int> sequences = sequence1.ToObservable().Concat(sequence2.ToObservable());

      //*** The event handler for the subscription will just write each integer from the sequence to the console window. ***//
      sequences.Subscribe(i => Console.WriteLine(i));

      Console.ReadLine();     
    }
  }
}

예제 코드의 출력은 다음과 같습니다.

1
2
3
4
5
6

참고 항목

참조

관찰 가능한 클래스

Concat 오버로드

System.Reactive.Linq 네임스페이스