筛选
本主题中的示例演示如何基于指定的条件筛选事件流。筛选器通过 where 子句来表示。即,仅当 where 子句中定义的表达式的计算结果为 True 时,筛选器才将事件传播到输出流。筛选器对事件 CepStream<T> 进行操作并生成一个事件 CepStream<T>。
示例
在下面的示例中,事件流 someStream 中的事件仅限于负载字段 i 中的值大于 10 的事件。不满足该条件的事件将不传递到输出流中。
// Assuming the following input event type:
public class MyPayload
{
public int i;
}
var queryFilter = from c in someStream
where c.i > 10
select c;
筛选谓词可调用可供执行过程使用的任何 .NET 方法。下面的示例调用 Math.Abs 方法。
var queryFilter = from c in someStream
where Math.Abs(c.i) > 10
select c;
特定于区域性的属性可用作参数。下面的示例指定 CultureInfo.InvariantCulture 属性。
var queryFilter = from c in someStream
where string.Compare(Convert.ToString(c.value),
c.str,
true,
CultureInfo.InvariantCulture) > 0
select c;