Sequence manipulation and filtering
Manipulation and filtering of sequence messages helps in the development of complex messaging designs. The most immediate and widely used operator is Where
, which creates a routing sequence of messages already filtered based on its filtering predicate. We have already seen some of the manipulating or filtering factory methods in the previous chapter, such as the Take
, Skip
, Distinct
, and DistinctUntilChanged
methods.
Where
The Where
factory method creates a new sequence that flows messages from another sequence only when a specific Where
predicate succeeds. Here's an example:
//fixed-time interval sequence var fixedTimeBasedSequence = Observable.Interval(TimeSpan.FromSeconds(1)); //convert the message //into time value var dateTimeSequence = fixedTimeBasedSequence .Select(v=> DateTime.UtcNow ); //filtered sequence of times with even second value var filteredSequence = dateTimeSequence.Where(dt...