[Rx] Состояние
От: _NN_ www.nemerleweb.com
Дата: 04.11.15 10:46
Оценка:
Как правильно убрать переменную и сделать код чище ?
Мне кажется BehaviorSubject то что нужно, но не получилось с ним.

using System;
using System.Linq;
using System.Reactive.Linq;

class Event { public Event(string a, int b) { A = a; B = b; } public readonly string A; public readonly int B; public override string ToString() { return A + " " + B; } }

public class Program
{
    public static void Main()
    {
        var events = Observable.Range(1, 10).Select(i => new Event("Regular", i));

        var old = 0;
        var generatedEvents = events
            .Where(e => e.B % 2 == 0)
            .Select(e => {
                var ret = new Event("Generated, Old=" + old, e.B * 3);
                old = e.B; // Set old
                return ret;
            });

        var allEvents = events.Merge(generatedEvents);

        allEvents.Subscribe(Console.WriteLine);
    }
}
http://rsdn.nemerleweb.com
http://nemerleweb.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.