2013-12-12 26 views
0

我有一个包含价值和交易日期的对象列表。结合日期和列表的LINQ投影

DateTime Date { get ; set; } 
double Value { get; set; } 

我想获得新的分组对象,它将包含此特定日期的事务日期和值列表。

我可以检索列表和日期,但我不知道如何使用投影将它们投射到新的对象。

var res1 = ExpenseList.Where(p => p.Date == Convert.ToDateTime("01-12-2013")) 
         .Select(p => p.Value) 
         .ToList(); 

DateTime res2 = ExpenseList.Where(p => p.Date == Convert.ToDateTime("01-12-2013")) 
          .Select(p => p.Date) 
          .FirstOrDefault(); 

也许已经有一些混乱围绕我将图片张贴到澄清

我有这样的事情在ExpenseList设定的日期和值的

What I have

我想要一个日期和值的集合

What I need

回答

3

把所有的某一天的值,你需要使用GroupBy

var groups = ExpenseList.GroupBy(expense => expense.Date, 
    expense => expense.Value); 
0
ExpenseList.Where(p => p.Date == Convert.ToDateTime("01-12-2013")) 
      .Select(p => new MyObject {Date = p.Date, Value = p.Value}) 
      .ToList(); 

更换MyObject为您所定义的实际类型。