Partager via


Observable.ToList<TSource,> méthode

Crée une liste à partir d’une séquence observable.

Namespace:System.Reactive.Linq
Assemblée: System.Reactive (en System.Reactive.dll)

Syntaxe

'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.

Paramètres de type

  • TSource
    Type de la source.

Paramètres

  • source
    Type : System.IObservable<TSource>
    Séquence observable source pour laquelle obtenir une liste d’éléments.

Valeur de retour

Type : System.IObservable<IList<TSource>>
Liste d’une séquence observable.

Remarque sur l'utilisation

Dans Visual Basic et C#, vous pouvez appeler cette méthode en tant que méthode instance sur n’importe quel objet de type IObservable<TSource>. Lorsque vous utilisez la syntaxe des méthodes d'instance pour appeler cette méthode, omettez le premier paramètre. Pour plus d'informations, consultez ou .

Notes

L’opérateur ToList prend tous les éléments de la séquence et les place dans une liste. Ensuite, la liste est retournée en tant que séquence observable (IObservable<IList<TSource>>). La valeur de retour de cet opérateur diffère de l’opérateur correspondant sur IEnumerable afin de conserver le comportement asynchrone.

Exemples

L’exemple suivant utilise l’opérateur Generate pour générer une séquence simple des entiers (1-10). Ensuite, l’opérateur ToList est utilisé pour convertir cette séquence en liste. La méthode IList.Add est utilisée à 9999 dans la liste résultante avant que chaque élément de la liste soit écrit dans la fenêtre de console.

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();
    }
  }
}

La sortie suivante a été générée avec l’exemple de code.

1
2
3
4
5
6
7
8
9
10
9999

Press ENTER to exit...

Voir aussi

Référence

Observable, classe

Espace de noms System.Reactive.Linq