explaingit

dotnet/reactive

7,146C#Audience · developerComplexity · 3/5Setup · easy

TLDR

A set of C# libraries for working with live data streams, stock feeds, sensor readings, user clicks, using the same filtering and query tools you would use on a regular list, without writing polling loops or manual event wiring.

Mindmap

mindmap
  root((repo))
    What it does
      Live data stream handling
      Observable sequences
      Query and filter streams
    Tech stack
      C#
      dotNET
      NuGet packages
    Use cases
      Financial data feeds
      Event-driven UI code
      Async stream queries
    Audience
      dotNET developers
      Backend engineers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Filter a live stream of financial trades to show only those above a volume threshold without writing a polling loop.

USE CASE 2

Wire up UI events like button clicks as observable sequences to simplify event-driven application code.

USE CASE 3

Use modern async/await patterns with live data streams via the AsyncRx.NET experimental library.

USE CASE 4

Add extra query operators like Where and Select to async enumerable sequences using Ix.NET.

Tech stack

C#.NETNuGet

Getting it running

Difficulty · easy Time to first run · 30min

In plain English

The Reactive Extensions for .NET, known as Rx.NET, is a set of C# libraries for writing code that responds to streams of data as they arrive over time, rather than working only with data that is already in memory. The central idea is that live information sources, like stock price feeds, sensor readings, user clicks, or network events, should be as easy to work with as a regular list or array. Rx.NET makes that possible by giving you the same query and filtering tools you would use on a list, but applied to data arriving continuously. For example, if you have a stream of financial trades coming in live, you can write a filter in a couple of lines to keep only the ones above a certain volume, and the result is itself a live stream that updates automatically whenever a new matching trade arrives. No polling loop, no manual event wiring. The repository contains four related libraries. The main one is Rx.NET itself, for event-driven programming with observable sequences. A second, currently experimental, is AsyncRx.NET, which extends the model to work more naturally with modern async/await patterns in C#. The other two, called Ix.NET, add extra query operators for working with both regular and asynchronous enumerable sequences. All four are available as NuGet packages, which is the standard way to add libraries to .NET projects. A free book called Introduction to Rx.NET is linked from the README in multiple formats including PDF and web, covering the concepts from the ground up. The project is part of the official .NET organization on GitHub.

Copy-paste prompts

Prompt 1
How do I use Rx.NET to filter a live stream of events and only react when two specific conditions are both true within a time window?
Prompt 2
Show me how to convert a .NET event like a button click into an Rx.NET observable sequence so I can compose it with other streams.
Prompt 3
How do I combine two observable sequences in Rx.NET so I get a combined event only when both fire within 5 seconds of each other?
Prompt 4
What is the difference between Rx.NET and AsyncRx.NET, and when should I use each in a C# project?
Prompt 5
How do I use Ix.NET to add LINQ-style Where and Select operators to an IAsyncEnumerable in C#?
Open on GitHub → Explain another repo

← dotnet on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.