Кучу хороших примеров можно найти на вики 101 Rx Samples
В обоих случаях стандартным способом получения данных являются события, но если мне нужен синтаксис запроса или композиция, то RX дает мне это, а события - нет.
Прежде всего, IObservable - это событие . Таким образом, в любом месте, где вы используете события внутри компании, вы можете использовать IObservable - и если вам позже понадобится применить LINQ к этому событию, вы сможете сделать это без рефакторинга.
Во-вторых, RX подходит для любой ситуации, когда вам нужно запустить код асинхронно . Например, вызов веб-службы или загрузка большого изображения.
Но когда это действительно начинает светиться - если ваша программа достигает некоторой «критической массы» использования IObservable и вы начинаете комбинировать разные наблюдаемые, вы будете удивлены, насколько легкими становятся некоторые задачи .
Rx является очень общим, поэтому он имеет неограниченную полезность, так же как IEnumerable / IEnumerator имеет неограниченную полезность. IE извлекает значения, IO подталкивает значения.
Foreach - это конкретный пример того, где могут быть полезны IEnumerable, но это не объясняет IEnumerable, yield или что-то еще. То же самое и с Rx.
Возможность смотреть на что-то либо с точки зрения притяжения, либо с точки зрения выталкивания, а также способность контролировать направление или средства - это очень мощный инструмент, потому что теперь вы можете толкать и тянуть вычисления по своему желанию, использование операторов запроса LINQ "бесплатно" против ввода-вывода, потому что это математический двойник IE.