OrderByDescending(TPayload, TOrderKey) 方法

通过 rankSelector 以降序对输入流排序。

命名空间:  Microsoft.ComplexEventProcessing.Linq
程序集:  Microsoft.ComplexEventProcessing(在 Microsoft.ComplexEventProcessing.dll 中)

语法

public static CepOrderedStream<TPayload> OrderByDescending<TPayload, TOrderKey>(
    this CepOrderableStream<TPayload> source,
    Expression<Func<TPayload, TOrderKey>> rankSelector
)

类型参数

  • TPayload
    输入事件的负载类型。
  • TOrderKey
    排序键的类型。

参数

返回值

类型:Microsoft.ComplexEventProcessing.Linq. . :: . .CepOrderedStream< (Of < ( <'TPayload> ) > ) >
可进一步排名的(例如,通过使用 Take())排序流。

用法说明

在 Visual Basic 和 C# 中,您可以对 CepOrderableStream< (Of < ( <'TPayload> ) > ) > 类型的任何对象将此方法作为实例方法调用。在您使用实例方法语法调用此方法时,将忽略第一个参数。有关详细信息,请参阅https://msdn.microsoft.com/zh-cn/library/bb384936(v=sql.105)https://msdn.microsoft.com/zh-cn/library/bb383977(v=sql.105)

注释

有关详细信息,请参阅 TopK

示例

下面的示例从为输入流 inputStream 定义的每个快照窗口获取排名最高的五个事件,并生成一个新事件流。每个窗口中的事件按负载字段 e.f 中值的升序以及负载字段 e.i 中值的降序进行排序。

// Assuming the following input event type for inputStream: 
public class MyPayload 
{
  public int f; 
  public int i; 
}

var topfive = (from window in inputStream.Snapshot(SnapshotWindowOutputPolicy.Clip)
               from e in window
               orderby e.f ascending, e.i descending
               select e).Take(5);

请参阅

参考

CepStream 类

Microsoft.ComplexEventProcessing.Linq 命名空间