Home > Backend Development > C++ > How to Sort a List Based on the Order of IDs in Another List?

How to Sort a List Based on the Order of IDs in Another List?

Mary-Kate Olsen
Release: 2025-01-19 12:01:09
Original
969 people have browsed it

How to Sort a List Based on the Order of IDs in Another List?

Reordering a List Using a Reference ID List

This example demonstrates how to rearrange a list of items (e.g., documents) to match the order of their IDs in a separate reference list. This is a common task when you need to maintain consistency between two related datasets. LINQ provides a concise solution.

The key is to use the OrderBy method in conjunction with an index lookup. We find the index of each item's ID in the reference ID list and use that index to determine the sorted order.

Here's the code:

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

This code snippet efficiently reorders the docs list to reflect the order specified by the docIds list. The IndexOf method finds the position of each d.Id within docIds, and OrderBy uses these indices to sort. The final .ToList() converts the ordered result back into a list. This ensures that the order of items in docs now directly corresponds to the order of IDs in docIds.

The above is the detailed content of How to Sort a List Based on the Order of IDs in Another List?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template