Aracılığıyla paylaş


Observable.ToEnumerable<TSource> Yöntemi

Gözlemlenebilir bir diziyi numaralandırılabilir bir diziye dönüştürür.

Ad Alanı:System.Reactive.Linq
Derleme: System.Reactive (System.Reactive.dll içinde)

Syntax

'Declaration
<ExtensionAttribute> _
Public Shared Function ToEnumerable(Of TSource) ( _
    source As IObservable(Of TSource) _
) As IEnumerable(Of TSource)
'Usage
Dim source As IObservable(Of TSource)
Dim returnValue As IEnumerable(Of TSource)

returnValue = source.ToEnumerable()
public static IEnumerable<TSource> ToEnumerable<TSource>(
    this IObservable<TSource> source
)
[ExtensionAttribute]
public:
generic<typename TSource>
static IEnumerable<TSource>^ ToEnumerable(
    IObservable<TSource>^ source
)
static member ToEnumerable : 
        source:IObservable<'TSource> -> IEnumerable<'TSource> 
JScript does not support generic types and methods.

Tür Parametreleri

  • Tsource
    Kaynak türü.

Parametreler

  • kaynak
    Tür: System.IObservable<TSource>
    Numaralandırılabilir bir diziye dönüştürülecek gözlemlenebilir bir sıra.

Dönüş Değeri

Tür: System.Collections.Generic.IEnumerable<TSource>
Gözlemlenebilir dizideki öğeleri içeren numaralandırılabilir dizi.

Kullanım Notu

Visual Basic ve C# içinde, bu yöntemi IObservable<TSource> türündeki herhangi bir nesnede örnek yöntemi olarak çağırabilirsiniz. Bu yöntemi çağırmak için örnek yöntemi sözdizimini kullandığınızda, ilk parametreyi yok sayın. Daha fazla bilgi için bkz. veya .

Açıklamalar

ToEnumerator işleci, gözlemlenebilir bir diziden bir numaralandırıcı döndürür. Numaralandırıcı, üretildiği sırada her öğeyi verir.

Örnekler

Aşağıdaki örnek, tamsayıların gözlemlenebilir bir sırasını oluşturur. Aralık işleci tarafından saniyede bir dizide yeni bir tamsayı oluşturulur. Gözlemlenebilir dizi bir numaralandırıcıya dönüştürülür ve her öğe, üretildiği sırada konsol penceresine yazılır.

using System;
using System.Reactive.Linq;
using System.Threading.Tasks;

namespace Example
{
  class Program
  {
    static void Main()
    {
      //******************************************************//
      //*** Create an observable sequence of integers.     ***//
      //******************************************************//

      var obs = Observable.Interval(TimeSpan.FromSeconds(1));
  

      //*******************************************************//
      //*** Convert the integer sequence to an enumerable.  ***//
      //*******************************************************//

      var intEnumerable = obs.ToEnumerable();


      //*********************************************************************************************//
      //*** Create a task to enumerate the items in the list on a worker thread to allow the main ***//
      //*** thread to process the user's ENTER key press.                                         ***//
      //*********************************************************************************************//

      Task.Factory.StartNew(() =>
      {
        foreach (int val in intEnumerable)
        {
          Console.WriteLine(val);
        }
      });


      //*********************************************************************************************//
      //*** Main thread waiting on the user's ENTER key press.                                    ***//
      //*********************************************************************************************//

      Console.WriteLine("\nPress ENTER to exit...\n");
      Console.ReadLine();
    }
  }
}

Aşağıdaki çıkış örnek kodla oluşturulmuştur.

 
Press ENTER to exit...

0
1
2
3
4
5
6
7
8
9

Ayrıca Bkz.

Başvuru

Gözlemlenebilir Sınıf

System.Reactive.Linq Ad Alanı