【发布时间】:2015-05-31 12:10:48
【问题描述】:
我有一个清单:
Dim mylist as List(Of myclass)
例如,我在 mylist 中有 1000 个已实现的对象。
这是 myclass 的结构:
myclass.id
myclass.value
myclass.name
myclass.comments
例如,我有以下内容:
myclass(0) = 1,10,'test00','abcde'
myclass(1) = 1,10,'test01','efgh'
myclass(2) = 1,22,'test00','www'
我想在 VB.NET 中使用 3 个参数对列表 mylist 进行排序:id、value 和 name。并且可以在不同的对象上拥有相同的一对 id、value、name。
我不明白如何使用 3 个参数对这个列表进行排序。我试过了,但它只适用于一个参数....
感谢您的帮助
编辑:这是我使用 1 个参数进行排序的代码:
For index = 1 To mylist.Count - 1
Dim x As myclass= mylist(index)
Dim j As Integer = index
While (j > 0 And mylist(j - 1).id> x.id)
mylist(j) = mylist(j - 1)
j = j - 1
End While
mylist(j) = x
Next
【问题讨论】:
-
你能用一个参数展示你的排序方式吗?
-
是的,看看我刚刚编辑了我的问题
-
我相信您可以使用 LINQ 按多个参数排序。语法与编写 SQL 查询基本相同(毕竟,这是 LINQ 的全部意义)。首先将您的类放在一个列表中,然后创建第二个排序的 LINQ 列表;
-
感谢您的回答。我以前从未使用过 LINQ,现在我必须阅读有关它的文档。谢谢!