2010-12-31 14 views

Antwort

4
list1.ToObservable() // Convert list1 to Observable 
    .Zip(
     Observable.Interval(TimeSpan.FromSeconds(1)), // Zip it with an observable that ticks every second 
     (list, timerList) => list // select list1 only 
    ). 
Subscribe((item) => 
{ 
    list2.Add(item); // on each tick, add an item to list2 
}); 
0

Hier ist eine Möglichkeit, wie Sie es tun könnten. Ich sage nicht, dass es die "Rx" -Methode ist, wohlgemerkt (meine Erfahrung mit Rx ist immer noch etwas eingeschränkt).

public static IEnumerable<T> Delay(this IEnumerable<T> source, int interval) 
{ 
    foreach (T item in source) 
    { 
     Thread.Sleep(interval); 
     yield return item; 
    } 
} 

Und dann:

var source = firstCollection.Delay(1000).ToObservable(); 
source.Subscribe(x => secondCollection.Add(x)); 
Verwandte Themen