>백엔드 개발 >C++ >별도의 목록에서 ID를 기준으로 개체 목록을 정렬하는 방법은 무엇입니까?

별도의 목록에서 ID를 기준으로 개체 목록을 정렬하는 방법은 무엇입니까?

DDD
DDD원래의
2025-01-19 12:16:091031검색

How to Sort a List of Objects Based on IDs from a Separate List?

다른 목록의 ID를 기준으로 개체 목록 정렬

어떤 경우에는 별도의 목록에 저장된 ID를 기준으로 개체 목록을 정렬해야 할 수도 있습니다. 다음 사항을 고려하세요.

다음 값을 가진 docIds이라는 이름의 List<long>이 있습니다: { 6, 1, 4, 7, 2 }. 또한 docs의 ID로 표시되는 개체를 저장하는 List<T>이라는 docIds이 있습니다.

두 목록의 항목 순서에 일관성을 유지하는 것이 목표입니다. 이는 List<T>의 개체가 List<long>의 해당 ID와 동일한 위치를 차지해야 함을 의미합니다. 예를 들어 docs의 ID가 1인 개체는 인덱스 1에 있어야 합니다.

수정 없이 이 정렬을 수행하려면 List<T> 다음과 같이 LINQ를 사용할 수 있습니다.

<code class="language-csharp">docs = docs.OrderBy(d => docIds.IndexOf(d.Id)).ToList();</code>

이 LINQ 식은 먼저 IndexOf를 사용하여 docIds에 있는 각 개체 ID의 인덱스를 결정합니다. 그런 다음 이 인덱스를 정렬 키로 사용하여 List<T>의 개체를 List<long>의 해당 ID와 효과적으로 정렬합니다.

위 내용은 별도의 목록에서 ID를 기준으로 개체 목록을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.