반응형
VB에서 개체 목록을 정렬합니다.그물
승객(물건)의 목록을 가지고 있는데 특성이 다릅니다.
passenger.name
passenger.age
passenger.surname
그리고 저는 이 목록을 나이 기준으로 분류하고 싶습니다. 어떻게 해야 할까요?
정수/문자열 목록에서 알고 있습니다.Sort()는 작동하지만, 만약 객체 목록이라면, 객체 속성의 값으로 정렬하는 것이 가능한지 모르겠습니다!
감사해요.
개체의 속성을 기준으로 정렬하려면 해당 속성을 가져올 비교 또는 메서드를 지정해야 합니다.
사용List.Sort
방법:
theList.Sort(Function(x, y) x.age.CompareTo(y.age))
사용OrderBy
확장 방법:
theList = theList.OrderBy(Function(x) x.age).ToList()
사용자 지정 문자열 정렬이 필요한 경우 지정한 순서에 따라 숫자를 반환하는 함수를 만들 수 있습니다.
예를 들어, 저는 앞면 또는 걸쇠를 기준으로 정렬하고 싶은 사진이 있었습니다.그래서 저는 다음과 같이 했습니다.
Private Function sortpictures(s As String) As Integer
If Regex.IsMatch(s, "FRONT") Then
Return 0
ElseIf Regex.IsMatch(s, "SIDE") Then
Return 1
ElseIf Regex.IsMatch(s, "CLASP") Then
Return 2
Else
Return 3
End If
End Function
그런 다음 정렬 함수를 다음과 같이 부릅니다.
list.Sort(Function(elA As String, elB As String)
Return sortpictures(elA).CompareTo(sortpictures(elB))
End Function)
I 비교기 인터페이스를 구현해야 합니다.
이 샘플에서 사용자 지정 개체 JSONReturn을 사용하여 클래스를 다음과 같이 구현합니다.
Friend Class JSONReturnComparer
Implements IComparer(of JSONReturn)
Public Function Compare(x As JSONReturn, y As JSONReturn) As Integer Implements IComparer(Of JSONReturn).Compare
Return String.Compare(x.Name, y.Name)
End Function
End Class
나는 나의 정렬 목록 메소드를 alResult라고 부릅니다.정렬(새 JSONReturnComparer())
어쩌면 당신에게 도움이 될 수도 있습니다.
시도..
DimsortedList = MyList의 From 항목 Order By entry.name 오름차순 선택 항목
mylist = sortedList.받는 사람 목록
언급URL : https://stackoverflow.com/questions/11735902/sort-a-list-of-object-in-vb-net
반응형
'UFO ET IT' 카테고리의 다른 글
Mongoose 하위 문서 찾기/업데이트 (0) | 2023.05.13 |
---|---|
시스템 변환.목록에 배열 (0) | 2023.05.13 |
Git 저장소 내에서 기존 Git 하위 모듈을 이동하려면 어떻게 해야 합니까? (0) | 2023.05.13 |
Visual Studio VB에서 영역 축소를 비활성화하거나 모든 영역을 확장하는 방법.NET? (0) | 2023.05.13 |
Linux/Unix에서 $PATH를 영구적으로 설정하는 방법 (0) | 2023.05.13 |