【问题标题】:creating 3 sub list from a single bigger list of person class从一个更大的人员类列表创建 3 个子列表
【发布时间】:2013-03-06 06:55:25
【问题描述】:

我有一个人员列表

dim list As New List(Of Person)

' 让我们说上面的列表有 6 个对象,有 3 种年龄,例如 25、28、35 岁

我想编写一个函数,它可以生成 3 个按年龄分组的单独人员对象列表 并填写

dim masterList As New List(List(Of Person))

您能否建议一些代码 sn-p 在 Vb.net 中实现此目的

人物类的定义

class Person

Dim age as Integer

Dim name as String

End Class

【问题讨论】:

    标签: .net vb.net collections .net-4.0


    【解决方案1】:

    使用 linq to objects 很容易:

    masterList = list.GroupBy(Function(p) p.age) _
                     .Select(Function(g) g.ToList()) _
                     .ToList()
    

    您必须导入 System.Linq 才能使其工作。

    【讨论】:

    • .Select(Function(g) g.ToList()) 这行不起作用VS不接受它,我正在检查原因
    • 立即查看。我已经更新了我的答案(忘了那是 VB,_ 使它工作)
    • 是的,是的,当我把它全部写在单行中时它也可以工作,非常感谢
    猜你喜欢
    • 1970-01-01
    • 2019-08-24
    • 1970-01-01
    • 1970-01-01
    • 2014-06-29
    • 2021-03-06
    • 1970-01-01
    • 1970-01-01
    • 2019-09-20
    相关资源
    最近更新 更多