Pour être clair, OrderBy
ne triera pas le tableau en place - il renverra une nouvelle séquence triée du tableau. Si c'est correct, alors vous voulez quelque chose comme:
var sorted = array.OrderBy(item => item.Fields["FieldName"].Value);
D'autre part, je ne comprends pas votre commentaire que la propriété est retourné comme une chaîne, mais que vous pouvez jeter un int - vous Vous ne pouvez pas lancer des ficelles sur les ints, vous devez les analyser. Si c'est ce que vous vouliez dire, vous voulez probablement:
var sorted = array.OrderBy(item => int.Parse(item.Fields["FieldName"].Value));
Si vous voulez que comme un tableau, vous pouvez appeler ToArray()
après:
var sorted = array.OrderBy(item => int.Parse(item.Fields["FieldName"].Value))
.ToArray();
Sinon, vous pouvez utiliser Array.Sort
si vous voulez trier in- lieu, mais ce sera un peu plus en désordre.
@skeet je suis confronté à presque le même problème et j'ai posté une question aussi http://stackoverflow.com/questions/11693827/sorting-on-generic-list-after -using-toarray-method – rahularyansharma
Merci, Jon. Bon à savoir c'est une opération non-destructive –
quelle bibliothèque devez-vous inclure à l'utilisateur 'OrderBy'? – AlbatrossCafe