using System.Reactive.Linq;
using System.Reactive.Subjects;
public static void Main()
var subject = new Subject<int?>();
.Select(x => "Null Criterion")
.Select(x => "Status criterion for " + x)
.Subscribe(Console.WriteLine)
var isValidNotifications = subject
.Select(x => x ? "Valid" : "Invalid");