0

假设我有一个带有公共子对象的自定义对象,看起来像这样:

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 日;2012 年 1 月 2 日;2012 年 1 月 3 日)
  2. 提交每个组WorkingClass.ReturnData作为输入并获取返回值

我怎么能通过 Linq / Lambdas 或您认为是最佳编程实践的任何其他方式来做到这一点?

4

1 回答 1

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()
于 2012-12-18T19:47:30.117 回答