Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 哪种被动扩展代码更有效?_C#_System.reactive - Fatal编程技术网

C# 哪种被动扩展代码更有效?

C# 哪种被动扩展代码更有效?,c#,system.reactive,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 => {

哪一个更有效,为什么?我刚刚开始学习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);
});

第二种方法在减少代理分配方面效率更高。但差别如此微小,根本不应该被视为你选择的一个因素。对于您的代码,选择更简单的代码,不要担心微优化。

让我们假设差异小于1%。那么,性能应该是您如何编写代码的首要考虑因素吗?第二个因素效率更高(可以忽略不计),但更难重新考虑。我使用前95%的时间。
tradesfeed.Subscribe(x =>
{
    if (x.Size > 500)
        Console.WriteLine("big trade: " + x.Symbol + " " + x.Size);
    else
        Console.WriteLine("little trade: " + x.Symbol + " " + x.Size);
});