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 に答える