2012-11-17 6 views
2

나는 목록에있는 모든 Traid T (T.Price * T.Buy)의 합계를 원한다. (Buy는 +1, Sell는 -1). 그래서 예를 들어 {Buy = -1, Price = 10}, {Buy = 1, price is = 4}이면 ​​-6을 얻습니다. 나는 이것을하기위한 웅변적인 방법을 원한다. 나는 어떤 종류의 오버로딩을해야한다고 생각하고 있는가? 나는 프로그래밍에 익숙하지 않으며 전에 이것을하지 않았다. 미리 감사드립니다. 는 IEnumerable에list <> sum overload

int total = list.Sum(t => t.Price*t.Buy); 

답변

2

당신은 Enumerable.Sum 사용할 수 있습니다

IEnumerable<Trade> trades = GetTrades(); 
var sum = trades.Sum(trade => trade.Buy * trade.Price); 
3

사용 Linqs 합계() 방법 :

-Rik

private class Traid 
     { 
      public DateTime Date { get; set; } 
      public int Index { get; set; } 
      public int Buy { get; set; } 
      public int Price {get;set;} 
     } 
관련 문제