2009-09-24 4 views

Répondre

10

Cela ne changera pas l'ordre de la liste initiale, mais triera l'énumération résultant de la liste et sélectionnez le premier point après la commande. Il gère le cas de liste vide en retournant un point par défaut (null).

var firstPoint = Points.OrderBy(p => p.X).ThenBy(p => p.Y).FirstOrDefault(); 
+0

+1 C'est tout ce qu'il ya à faire ... autrement serait avec la syntaxe de requête - voir ma réponse – eglasius

+1

pourquoi tout le monde ne * * (ou presque tout le monde) insistent sur le fait sur l'utilisation du uh-gly Fonction de chaînage par opposition à la bonne syntaxe de requête par défaut? – RCIX

+0

RCIX, je ne sais pas pourquoi tout le monde fait de méthodes enchaînées, mais je le fais parce qu'il ya beaucoup d'autres endroits où l'enchaînement de méthode est utilisée (interfaces couramment, par exemple) il est donc très bénéfique pour apprendre et se familiariser avec il. La syntaxe de requête LINQ est trouvée uniquement dans LINQ (pour autant que je sache), donc son utilité est limitée. –

5
var firstPoint = (from p in Points orderby p.X, p.Y select p).FirstOrDefault(); 
Questions connexes