Liste tri C# à l'aide de 2 champs
J'ai une liste de mes objets personnalisés. L'objet contient chaîne de 1 et 2 décimales. Je voudrais trier la liste en fonction de la 2ème décimale champ décroissant puis le premier champ décimal.
Pour exemple:
object 1 -> "a", 100, 10
object 2 -> "b", 300, 0
object 3 -> "c", 200, 200
object 4 -> "b", 400, 0
sera trié comme objet 3 objet 1, objet 4 objet 2
Je m'excuse si ce sujet a déjà été répondu - veuillez m'indiquer que le post que je ne pouvais pas le trouver
vous devez inclure le
Cela a déjà été répondu à ici et ici.
Properties names
de votre object
, que ce serait mieux. Sinon, je suppose que le answerers sera suppose you have ...
ou même ne pense pas que quoi que ce soit.Cela a déjà été répondu à ici et ici.
OriginalL'auteur Vijay V | 2013-08-23
Vous devez vous connecter pour publier un commentaire.
OriginalL'auteur D Stanley
D'autres réponses montrent une excellente façon de construire un IEnumerable<T> qui, lorsque énumérés, les rendements des éléments de votre liste dans l'ordre que vous décrivez. Il offre une "vue" de la liste, pour ainsi dire, et ne pas changer l'ordre des éléments dans la liste elle-même.
Si vous souhaitez trier la liste (c'est à dire, changer la liste sur place, telles que ses éléments sont dans l'ordre), vous pouvez utiliser le Liste<T>.Méthode De Tri comme suit:
OriginalL'auteur dtb
Puis énumérer ou de créer une autre collection, par exemple via
ToList
.OriginalL'auteur Rango
Utilisation
OrderByDescending
, etThenBy
:OriginalL'auteur McGarnagle