Vb.net 我们如何根据列表中的单个项目对整个列表进行排序?

Vb.net 我们如何根据列表中的单个项目对整个列表进行排序?,vb.net,Vb.net,我正在使用vb.net windows8移动应用程序在该应用程序中保存列表中的项目帮助我根据列表中的单个项目排列此列表 代码: 'Job Custom Event Details............... Dim JobEventAllDetails As New List(Of EventDetails) JobEventAllDetails = JobEventDetails.EventDetailsList.ToList() 列表顺序: (New System.Collectio

我正在使用vb.net windows8移动应用程序在该应用程序中保存列表中的项目帮助我根据列表中的单个项目排列此列表

代码:

'Job Custom Event Details............... 
Dim JobEventAllDetails As New List(Of EventDetails)
JobEventAllDetails = JobEventDetails.EventDetailsList.ToList() 
列表顺序:

(New System.Collections.Generic.Mscorlib_CollectionDebugView(Of Agility_Alerts.TrackingServiceReference.EventDetails)(JobEventAllDetails)).Items(0).Seq 0

(New System.Collections.Generic.Mscorlib_CollectionDebugView(Of Agility_Alerts.TrackingServiceReference.EventDetails)(JobEventAllDetails)).Items(2).Seq 300

(New System.Collections.Generic.Mscorlib_CollectionDebugView(Of Agility_Alerts.TrackingServiceReference.EventDetails)(JobEventAllDetails)).Items(1).Seq 200

如果您指的是按属性对列表进行排序。。。您可以使用OrderBy函数

Dim list2 = list.OrderBy(Function(k) k.field2)

在VB单元测试项目中尝试此方法

Imports System.Text
Imports Microsoft.VisualStudio.TestTools.UnitTesting

<TestClass()> Public Class UnitTest1
  <TestMethod()> Public Sub TestMethod1()

    Dim eventDetailsList As New List(Of EventDetails) From { _
        New EventDetails With {.Seq = 0, .SomeData = ""}, _
        New EventDetails With {.Seq = 300, .SomeData = ""}, _
        New EventDetails With {.Seq = 200, .SomeData = ""}}

    Dim JobeventDetails As New JobEventDetailsList With {.EventDetailsList = eventdetailslist}

    Dim JobEventAllDetails = JobeventDetails.EventDetailsList.OrderBy(Function(j) j.Seq).ToList
    For Each job In JobEventAllDetails
        Console.WriteLine(job.Seq)
    Next
  End Sub
End Class

Class EventDetails
    Public Property Seq As Integer
    Public SomeData As String
End Class
Class JobEventDetailsList
    Public EventDetailsList As List(Of EventDetails)
End Class
导入系统文本
导入Microsoft.VisualStudio.TestTools.UnitTesting
公共类UnitTest1
公共子测试方法1()
Dim EventDetails从{_
带有{.Seq=0,.SomeData=”“}的新EventDetails_
带有{.Seq=300,.SomeData=”“}的新EventDetails_
带有{.Seq=200,.SomeData=”“}的新事件详细信息
使用{.EventDetailsList=EventDetailsList}将JobeventDetails设置为新的JobEventDetailsList
Dim JobEventAllDetails=JobeventDetails.EventDetailsList.OrderBy(函数(j)j.Seq).ToList
对于JobEventAllDetails中的每个作业
控制台写入线(作业顺序)
下一个
端接头
末级
类事件详细信息
公共属性Seq为整数
作为字符串的公共数据
末级
类JobEventDetailsList
公共事件详细信息(事件详细信息的列表)
末级

非常感谢您分享信息。非常好。