UFO ET IT

시스템 정렬 방법.컬렉션.포괄적인.VB에 나열합니다.그물?

ufoet 2023. 5. 13. 20:13
반응형

시스템 정렬 방법.컬렉션.포괄적인.VB에 나열합니다.그물?

나는 객체(Schedule_Payitem)의 컬렉션인 일반 목록(m_equipmentList)을 사용하고 있습니다.
하위 개체 속성에 따라 목록을 정렬하려면 어떻게 해야 합니까?

Dim m_equipmentList As New List(Of Schedule_Payitem)

Schedule_Payitem의 resourceid 속성을 기준으로 m_equipmentList를 정렬해야 합니다.

VB9를 사용하고 있습니까?그렇다면 람다 식을 사용하여 다음을 생성합니다.Comparer(Of Schedule_PayItem)그렇지 않으면 짧은 클래스를 작성하여 구현합니다.IComparer(Of Schedule_PayItem)목록에 있는 어떤 것이든 통과하십시오.종류.

람다 식(테스트되지 않음)의 예:

m_equipmentList.Sort(Function(p1, p2) p1.ResourceID.CompareTo(p2.ResourceID))

그리고.IComparer(Of Schedule_PayItem):

Public Class PayItemResourceComparer
    Implements IComparer(Of Schedule_PayItem)
    Public Function Compare(ByVal p1 As Schedule_PayItem, _
                            ByVal p2 As Schedule_PayItem) As Integer
        Return p1.ResourceID.CompareTo(p2.ResourceID)
    End Function
End Class

...

m_equipmentList.Sort(New PayItemResourceComparer)

저는 vb.net 을 몰라서 C#에서 했습니다.

m_equipmentList.Sort(
   (payItem1,payItem2)=>payItem1.ResourceID.CompareTo(payItem2.ResourceID));

그리고 반사경을 사용하여 vb.net 으로 번역했습니다. 도움이 되기를 바랍니다.

m_equipmentList.Sort(
Function (ByVal payItem1 As Schedule_Payitem, ByVal payItem2 As Schedule_Payitem) 
    Return payItem1.ResourceID.CompareTo(payItem2.ResourceID)
End Function)

또는 IComparable에서 Schedule_Pay 항목을 상속하고 CompareTo를 구현한 다음 그냥 호출할 수 있습니다.m_equipmentList.Sort()

다음과 같이 변경하면 목록을 내림차순으로 정렬할 수 있습니다.

m_equipmentList.Sort(
Function (ByVal payItem1 As Schedule_Payitem, ByVal payItem2 As Schedule_Payitem) 
    Return payItem1.ResourceID.CompareTo(payItem2.ResourceID)
End Function)

여기까지

m_equipmentList.Sort(
Function (ByVal payItem1 As Schedule_Payitem, ByVal payItem2 As Schedule_Payitem) 
    Return payItem2.ResourceID.CompareTo(payItem1.ResourceID)
End Function)

사용해 보세요.

Dim m_equipmentList As New List(Of Schedule_Payitem)


m_equipmentList.Sort(delegate(Schedule_Payitem p1, Schedule_Payitem p2)
              {
                  return p1.resourceid .CompareTo(p2.resourceid );
              });

언급URL : https://stackoverflow.com/questions/438715/how-sort-a-system-collections-generic-list-in-vb-net

반응형