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

连接两个可观测序列。

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

语法

'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
    源的类型。

parameters

返回值

类型: 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

另请参阅

参考

可观测类

Concat 重载

System.Reactive.Linq 命名空间