哪种反应性扩展代码更有效?

时间:2010-08-25 20:53:20

标签: c# system.reactive

哪一个更有效率,为什么?我刚开始使用RX并试图了解如何编写更好的代码。

例如我可以做

tradesfeed.Where(trade=>trade.Size > 500).Subscribe(x =>
{
    Console.WriteLine("big trade: " + x.Symbol + " " + x.Size);
});

tradesfeed.Where(trade=>trade.Size <= 500).Subscribe(x =>
{
    Console.WriteLine("little trade: " + x.Symbol + " " + x.Size);
});

或只有一个订阅

tradesfeed.Subscribe(x =>
{
    if (x.Size > 500)
        Console.WriteLine("big trade: " + x.Symbol + " " + x.Size);
    else
        Console.WriteLine("little trade: " + x.Symbol + " " + x.Size);
});

1 个答案:

答案 0 :(得分:2)

第二种方法在更少的委托分配方面更有效率。但差别很小,根本不应该被认为是你选择的一个因素。选择任何更简单的代码,不要担心微观优化。