7
votes

Ordonnade Iingle

J'utilise IEnumerable Orderby pour trier mes articles en format ascendant, mais cela ne fonctionne pas que ma requête est comme ceci:

IEnumerable<Step> steps = allsteps.Where(step => step.X <= Y);

steps = steps.OrderBy(step => step.X);


4 commentaires

Comment examinez-vous le résultat?


Comme vous ne vérifiez que le premier élément ... êtes-vous sûr que tous les éléments de étapes n'ont pas la même valeur x?


Vous pouvez fournir votre méthode de somme pour voir ce qui se passe, car la sélection et la commande de commande que vous avez écrites fonctionnent avec des valeurs doubles.


Digemall pointa sur la bonne note, je viens d'avoir un article dans ma liste !!! désolé pour tous


3 Réponses :


11
votes

Tout d'abord, pourquoi ne pas le garder sur une ligne. XXX

comme "VC 74" pointé dans son commentaire, si x n'est pas primitif ou n'applique pas icomparable ou icomparable alors vous ne pourrez pas commander votre liste, avec ou sans linq. < / p>


0 commentaires

3
votes

Cela fonctionne simplement comme prévu: xxx


0 commentaires

3
votes

a couru dans un problème très similaire avec ceci: xxx

a voulu modifier la commande Les résultats se lieraient ensuite à ma listeView, donc j'ai essayé ceci: xxx

Il est exécuté, mais n'a pas mis à jour mes résultats. Donc, je cherche plus loin, j'ai découvert que parce que je retourne un type complexe Linq, ne peut pas le commander pour moi, alors je devais aller ajouter le fichier ordonnancement dans le fichier Stepthree.cs où la méthode renvoyée appelée.


3 commentaires

Bonjour David, cette question était pour quand j'étais nouvelle à Linq :) c'était une erreur simple et ça marche bien, mais je ne pouvais pas le voir (à ce moment-là).


@Saeedamiri: Depuis que vous avez résolu votre problème, c'est une bonne pratique de poster votre solution pour d'autres personnes qui tombent sur ce post.


@Matthew, vous pouvez voir les commentaires sur la question, il n'y avait aucun problème, la liste a un élément. Je n'ai pas supprimé la question parce que une partie de la réponse a une upvote et ils ont essayé de résoudre le problème.