.net 从单个较大的person类列表创建3个子列表

.net 从单个较大的person类列表创建3个子列表,.net,vb.net,collections,.net-4.0,.net,Vb.net,Collections,.net 4.0,我有个人的名单 dim list As New List(Of Person) Lets说上面的列表中有6个人物对象,有3种年龄类型,比如25岁、28岁、35岁 我想写一个函数,它可以生成3个按年龄分组的单独的person对象列表 并填写它们 dim masterList As New List(List(Of Person)) 你能推荐一些代码片段在Vb.net中实现这一点吗 个人类别的定义 class Person Dim age as Integer Dim name as Str

我有个人的名单

dim list As New List(Of Person)
Lets说上面的列表中有6个人物对象,有3种年龄类型,比如25岁、28岁、35岁

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

dim masterList As New List(List(Of Person))
你能推荐一些代码片段在Vb.net中实现这一点吗

个人类别的定义

class Person

Dim age as Integer

Dim name as String

End Class

使用linq访问对象非常简单:

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

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

。选择(函数(g)g.ToList())此行不工作或不接受它,我正在检查为什么现在检查它。我已经更新了我的答案(忘记了那是VB,而且
\uuuu
让它工作了)是的,是的,当我用一行写的时候它也工作了,谢谢