Trie un tableau d'éléments à l'aide OrderBy<>
J'ai un tableau d'éléments et je voudrais trier sur un de leurs propriétés.
Je peux accéder à la propriété d'éléments à l'aide de "élément.Champs["FieldName"].Valeur" la propriété est retourné comme un string, mais je peux convertir un int.
J'ai eu un coup d'oeil à OrderBy<> mais je n'ai aucune idée de comment l'utiliser.
Vous devez vous connecter pour publier un commentaire.
Pour être clair,
OrderBy
de ne pas trier le tableau en place, il sera de retour une nouvelle séquence qui est une triés copie de la matrice. Si ce n'est pas grave, alors vous voulez quelque chose comme:D'autre part, je ne comprends pas votre commentaire que le bien est retourné comme un string, mais que vous pouvez le convertir en une int - vous ne pouvez pas jeter des chaînes à ints, vous avez à les analyser. Si c'est ce que vous vouliez dire, vous voulez probablement:
Si vous voulez que comme un tableau, vous pouvez appeler
ToArray()
après:Vous pouvez également utiliser
Array.Sort
si vous souhaitez trier en place, mais qui sera un peu de messier.OrderBy
?Utiliser la méthode de Tri pour trier un tableau:
Si vous n'êtes pas à l'aide de C# 3, vous utilisez un délégué à la place d'une expression lambda:
(Cela fonctionne aussi avec cadre 2, dont les OrderBy extension ne fonctionne pas.)
Si vous pouvez utiliser orderby il devrait être facile, essayez les solutions suivantes. Je l'ai jeté dans l'int.Analyser bien en fonction de la façon dont vous voulez trier ce pourrait ne pas être nécessaire.
Si vous ne voulez pas un tableau, vous pouvez laisser ça de côté dans ce cas, vous aurez un IEnumerable<> le type de l'élément.