Reactive Extensions for .NET is a library for event-driven programming with a composable, declarative model based on LINQ over sequences.
The library addresses the challenge of writing code that responds reliably to events and live data streams. It provides a set of operators and abstractions that let developers compose event handlers declaratively rather than through imperative callback chains. The core Rx.NET library works with observable sequences, while companion libraries extend this model: AsyncRx.NET adds deeper async/await support through IAsyncObservable, Interactive Extensions provides additional LINQ operators for IAsyncEnumerable and IEnumerable, and System.Linq.Async implements standard LINQ operators for asynchronous enumerable sequences.
Developers should choose this tool when building event-driven systems, particularly cloud-native applications that process live data streams such as IoT or real-time analytics. The library suits scenarios where multiple asynchronous operations need to be coordinated and transformed declaratively. The project provides a free introductory book covering the abstractions and functionality of Rx.NET, which serves as a learning resource for understanding when and how to apply reactive patterns.
The project maintains active development across its four related libraries with regular updates to support current .NET versions and cloud-native use cases. Development includes ongoing refinement of the core Rx.NET library alongside experimental work on AsyncRx.NET to deepen async/await integration. The maintainers actively document the libraries through comprehensive guides and examples, indicating sustained investment in developer education alongside code maintenance.