>백엔드 개발 >C++ >LINQ를 사용하여 다른 목록의 ID 순서에 따라 목록을 정렬하려면 어떻게 해야 합니까?

LINQ를 사용하여 다른 목록의 ID 순서에 따라 목록을 정렬하려면 어떻게 해야 합니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-19 11:57:10754검색

How Can I Sort a List Based on the Order of IDs in Another List Using LINQ?

LINQ를 사용하여 다른 목록의 ID를 기반으로 목록 정렬

소프트웨어 개발에서는 해당 요소. 이 경우 사용자에게는 두 개의 목록이 있습니다. 하나는 일련의 식별자(docIds)를 포함하고 다른 하나는 해당 T 항목(docs)을 포함합니다. 문제는 문서 목록의 원래 유형(List)을 유지하면서 문서 목록을 docId 목록과 동일한 순서로 정렬하는 것입니다.

LINQ(Language Integrated Query)를 사용하여 이를 달성하려면, OrderBy 확장 방법을 활용할 수 있습니다. 이 메서드는 컬렉션의 요소를 정렬하는 방법을 지정하는 람다 식을 사용합니다. 이 특정한 경우 람다 표현식은 문서 목록에 있는 각 항목의 Id 속성에 액세스하여 이를 docId 목록에 있는 해당 식별자와 비교해야 합니다.

다음 LINQ 표현식이 이 작업을 수행합니다.

docs = docs.OrderBy(d => docIds.IndexOf(d.Id)).ToList();

이 표현식은 문서 목록을 반복하며, 각 항목에 대해 docIds 목록에서 IndexOf 메서드를 호출하여 항목의 위치를 ​​결정합니다. 해당 식별자. 결과는 순서가 지정된 열거형이며 문서 목록에 할당됩니다. ToList 메서드를 사용하면 정렬된 열거형이 다시 List로 변환됩니다.

요약하면 이 LINQ 식은 다른 목록의 식별자를 기반으로 항목 목록을 재정렬하는 간단하고 효율적인 방법을 제공합니다. 원본 목록의 순서와 유형을 모두 보존할 수 있습니다.

위 내용은 LINQ를 사용하여 다른 목록의 ID 순서에 따라 목록을 정렬하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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