Observable.ToList<TSource> Yöntemi
Gözlemlenebilir bir diziden liste oluşturur.
Ad Alanı:System.Reactive.Linq
Derleme: System.Reactive (System.Reactive.dll içinde)
Syntax
'Declaration
<ExtensionAttribute> _
Public Shared Function ToList(Of TSource) ( _
source As IObservable(Of TSource) _
) As IObservable(Of IList(Of TSource))
'Usage
Dim source As IObservable(Of TSource)
Dim returnValue As IObservable(Of IList(Of TSource))
returnValue = source.ToList()
public static IObservable<IList<TSource>> ToList<TSource>(
this IObservable<TSource> source
)
[ExtensionAttribute]
public:
generic<typename TSource>
static IObservable<IList<TSource>^>^ ToList(
IObservable<TSource>^ source
)
static member ToList :
source:IObservable<'TSource> -> IObservable<IList<'TSource>>
JScript does not support generic types and methods.
Tür Parametreleri
- Tsource
Kaynak türü.
Parametreler
- kaynak
Tür: System.IObservable<TSource>
Öğelerinin listesini almak için kaynak gözlemlenebilir dizisi.
Dönüş Değeri
Tür: System.IObservable<IList<TSource>>
Gözlemlenebilir bir diziden bir liste.
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
ToList işleci, dizideki tüm öğeleri alır ve bir listeye yerleştirir. Ardından liste gözlemlenebilir bir dizi (IObservable<IList<TSource>>) olarak döndürülür. Bu işlecin dönüş değeri, zaman uyumsuz davranışı korumak için IEnumerable'da karşılık gelen işleçten farklıdır.
Örnekler
Aşağıdaki örnekte Generate işleci, basit bir tamsayı dizisi (1-10) oluşturmak için kullanılır. Ardından, bu sırayı listeye dönüştürmek için ToList işleci kullanılır. IList.Add yöntemi, listedeki her öğe konsol penceresine yazılmadan önce sonuçta elde edilen listeye 9999 için kullanılır.
using System;
using System.Reactive.Linq;
using System.Collections;
namespace Example
{
class Program
{
static void Main()
{
//*********************************************//
//*** Generate a sequence of integers 1-10 ***//
//*********************************************//
var obs = Observable.Generate(1, // Initial state value
x => x <= 10, // The termination condition. Terminate generation when false (the integer squared is not less than 1000)
x => ++x, // Iteration step function updates the state and returns the new state. In this case state is incremented by 1
x => x); // Selector function determines the next resulting value in the sequence. The state of type in is squared.
//***************************************************************************************************//
//*** Convert the integer sequence to a list. Use the IList.Add() method to add 9999 to the list ***//
//***************************************************************************************************//
var obsList = obs.ToList();
obsList.Subscribe(x =>
{
x.Add(9999);
//****************************************//
//*** Enumerate the items in the list ***//
//****************************************//
foreach (int val in x)
{
Console.WriteLine(val);
}
});
Console.WriteLine("\nPress ENTER to exit...\n");
Console.ReadLine();
}
}
}
Aşağıdaki çıkış örnek kodla oluşturulmuştur.
1
2
3
4
5
6
7
8
9
10
9999
Press ENTER to exit...