共用方式為


Observable.Concat < TSource > 方法 (IObservable TSource > 、IObservable << TSource >)

串連兩個可觀察的序列。

Namespace:System.Reactive.Linq
裝配: System.Reactive.dll) 中的 System.Reactive (

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
    來源的類型。

參數

傳回值

類型:System.IObservable< TSource>
可觀察的序列,其中包含第一個序列的專案,後面接著第二個序列的專案。

使用注意事項

在 Visual Basic 和 C# 中,您可以在IObservable< TSource > 類型的任何物件上呼叫這個方法作為實例方法。 使用執行個體方法語法呼叫這個方法時,請省略第一個參數。 如需詳細資訊,請參閱

備註

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

另請參閱

參考

Observable 類別

Concat 多載

System.Reactive.Linq 命名空間