Réorganiser une liste à l'aide d'une liste d'ID de référence
Cet exemple montre comment réorganiser une liste d'éléments (par exemple, des documents) pour qu'elle corresponde à l'ordre de leurs identifiants dans une liste de référence distincte. Il s'agit d'une tâche courante lorsque vous devez maintenir la cohérence entre deux ensembles de données liés. LINQ fournit une solution concise.
La clé est d'utiliser la méthode OrderBy
en conjonction avec une recherche d'index. Nous trouvons l'index de l'ID de chaque élément dans la liste des ID de référence et utilisons cet index pour déterminer l'ordre de tri.
Voici le code :
<code class="language-csharp">docs = docs.OrderBy(d => docIds.IndexOf(d.Id)).ToList();</code>
Cet extrait de code réorganise efficacement la liste docs
pour refléter l'ordre spécifié par la liste docIds
. La méthode IndexOf
trouve la position de chaque d.Id
dans docIds
, et OrderBy
utilise ces indices pour trier. Le .ToList()
final reconvertit le résultat ordonné en liste. Cela garantit que l'ordre des articles dans docs
correspond désormais directement à l'ordre des identifiants dans docIds
.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!