문제

이것을 ASC 순서로 어떻게 정렬해야합니까?

나는 얻었다 List<List<UInt32>> 기록으로 가득합니다 List<UInt32> 각 레코드의 첫 번째 열에 따라 해당 레코드를 정렬하기를 원합니다. 열은 UINT32 번호입니다.

그래서:

목록이 있습니다.

new List<UInt32>: 32,1,1,1,1,1
new List<UInt32>: 22,2,2,2,2,2
new List<UInt32>: 32,1,1,1,1,1
new List<UInt32>: 1,1,1,1,1

정렬해야합니다.

List<UInt32>: 1,1,1,1,1
List<UInt32>: 22,2,2,2,2,2
new List<UInt32>: 32,1,1,1,1,1
new List<UInt32>: 32,1,1,1,1,1

-> 첫 번째 숫자 만 중요합니다! 다른 사람들은 정렬에 중요하지 않습니다. 나는 ASC를 찾고 있지만 둘 다 환상적 일 것이므로 알고리즘이 변경되어야한다고 생각하면 찾아 볼게요 :)

도움을 주셔서 감사합니다!

@Samuel, 감사합니다. 유형을 변경하려고 할 때 구현하려고 노력할 것입니다. :)

도움이 되었습니까?

해결책

거의 복제 :

목록을 정렬하는 방법 u003CListu003Cstring> > 목록에 따르면u003Cstring> 필드 수?

같은 것 :

var sorted = parent.OrderBy( l => l[0] );

또는:

parent.Sort( (a,b) => a[0].CompareTo( b[0] ) )

다른 팁

John의 답변이 작동하는 동안 사용하는 것이 좋습니다. First() 목록에서 0 요소에 액세스하는 대신 이런 식으로 그것은 어떤 경우에도 효과가 있습니다 IEnumerable<T> 뿐만 아니라 IList<T>.

var sorted = list.OrderBy(subList => subList.First());
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top