Filtering
The example in this topic demonstrates how to filter an event stream based on specified conditions. Filters are expressed through a where clause. That is, the filter propagates the event to the output stream only if the expression defined in the where clause evaluates to true. A filter operates on an event stream and yields an event stream.
Examples
In the following example, the events in the event stream someStream
are limited to events in which the value in payload field i
is greater than 10. Events that do not meet this condition are not passed on to the output stream.
// Assuming the following input event type:
public class MyPayload
{
public int i;
}
var queryFilter = from c in someStream
where c.i > 10
select c;
The filter predicate can call any .NET method available to the executing process. The following example calls the Math.Abs
method.
var queryFilter = from c in someStream
where Math.Abs(c.i) > 10
select c;
Culture-specific attributes can be used as parameters. The following example specifies the CultureInfo.InvariantCulture
attribute.
var queryFilter = from c in someStream
where string.Compare(Convert.ToString(c.value),
c.str,
true,
CultureInfo.InvariantCulture) > 0
select c;