流程Linq将所有组合在一起

时间:2012-12-18 19:39:28

标签: c# .net vb.net linq

假设我有一个带有public sub的自定义对象,可以看到这些行:

Public Class MyObject
   Public Function ReturnData(StartDate as Date, InputData as List(of string)) As List(Of String)
End Class

然后有另一个自定义对象,如下所示:

Public Class HoldingObject
   Public MyDate as Date
   Public MyInfo as String
End Class

现在,在另一个班级,我有以下内容:

Dim DataList as List(of HoldingObject)
Dim WorkingClass as New MyObject

Datalist looking as follows:
MyDate:         MyInfo:
1/1/2012        a
1/2/2012        b
1/2/2012        c
1/2/2012        d
1/1/2012        e
1/2/2012        f
1/2/2012        g
1/2/2012        h
1/3/2012        i
1/3/2012        j
1/3/2012        k
1/1/2012        l
1/1/2012        m

我想做的是构成某种Linq语句:

  1. 按日期列出Datalist组(将是3个分组输入 - 2012年1月1日; 1/2/2012; 2012年1月3日)
  2. 将每个组提交至WorkingClass.ReturnData作为输入并获取返回值
  3. 我怎么能通过Linq / Lambdas或你认为最好的编程习惯的其他方式做到这一点?

1 个答案:

答案 0 :(得分:0)

实际上我现在无法自己测试它,但它应该可以工作:

Dim result = (From i In DataList
             Group i By date = i.MyDate Into g
             Select WorkingClass.ReturnData(date, g.Select(Function(gi) gi.MyInfo).ToList())).ToList()