2

我在这里有一门课,我想求和(对于列表中的每个 Traid T)(T.Price*T.Buy)。(如果是买入,买入是+1,如果是卖出,则为-1)。例如,如果我有 {Buy=-1,Price=10} 和 {Buy=1, price is =4},我会得到 -6。我想要一种雄辩的方式来做到这一点,我假设我应该做某种重载?我是编程新手,以前没有这样做过。提前致谢。

-里克

    private class Traid
        {
            public DateTime Date { get; set; }
            public int Index { get; set; }
            public int Buy { get; set; }
            public int Price {get;set;}
        }
4

2 回答 2

3

您可以使用Enumerable.Sum

int total = list.Sum(t => t.Price*t.Buy);
于 2012-11-17T01:51:18.113 回答
3

在 IEnumerable 上使用 Linqs Sum() 方法:

IEnumerable<Trade> trades = GetTrades();
var sum = trades.Sum(trade => trade.Buy * trade.Price);
于 2012-11-17T01:51:25.453 回答