


Comment trier une liste en fonction de l'ordre des identifiants dans une autre liste à l'aide de LINQ ?
Jan 19, 2025 pm 12:12 PMTri d'une liste en fonction des identifiants d'une autre liste à l'aide de LINQ
Dans de nombreux scénarios de programmation, vous pouvez vous retrouver avec deux listes : une contenant des identifiants et une autre contenant des éléments associés avec ces identifiants. Le défi se pose lorsque vous devez conserver le même ordre des éléments dans les deux listes. Cet article fournit une solution simple et efficace utilisant LINQ pour résoudre ce problème.
Supposons que vous ayez une liste d'identifiants :
List<long> docIds = new List<long>() { 6, 1, 4, 7, 2 };
Vous disposez également d'une liste d'éléments représentés par les identifiants dans docIds :
List<T> docs = GetDocsFromDb(...);
Votre objectif est de réorganiser la liste des documents par ordre croissant en fonction des identifiants correspondants dans docIds. L'ordre des éléments dans les deux listes doit être identique.
L'expression LINQ suivante résout ce problème :
docs = docs.OrderBy(d => docIds.IndexOf(d.Id)).ToList();
Explication :
- OrderBy(d => ; docIds.IndexOf(d.Id)) : Cette expression lambda spécifie le critère de tri. Il récupère l'index de l'ID de l'élément dans la liste docIds, triant efficacement la liste des documents en fonction de la position de ses ID dans docIds.
- ToList() : ceci convertit le résultat trié en une nouvelle liste, en préservant le ordre trié.
Cette méthode réorganise efficacement la liste des documents en fonction des identifiants dans docIds, garantissant que les éléments des deux listes sont dans le même ordre.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Quels sont les types de valeurs renvoyées par les fonctions du langage C? Qu'est-ce qui détermine la valeur de retour?

Gulc: Cibliothèque C construite à partir de zéro

C Fonction Langue Format de lettre ÉTAPES DE CONVERSION DE CAS

Quelles sont les définitions et les règles d'appel des fonctions du langage C et quelles sont les

Utilisation distincte et partage de phrases

Où est la valeur de retour de la fonction de langue C stockée en mémoire?

Comment fonctionne la bibliothèque de modèle standard C (STL)?

Comment utiliser efficacement les algorithmes du STL (trier, trouver, transformer, etc.)?
