Salut J'ai reçu le linq suivant pour commander ma saisie après la valeur la plus basse. Mais je voudrais qu'il ne produise que les valeurs les plus basses.Sélectionnez uniquement les valeurs les plus faibles avec Linq
var sortedDict = (from entry in x where entry.Value > 0 orderby entry.Value ascending select entry);
Maintenant s'il obtient l'entrée suivante.
3 4 2 6 2
Ce serait ma sortie
2 2 3 4 6
Que dois-je changer dans mon LINQ donc je ne reçois que cette sortie
2 2
Est-ce que ce sera plus rapide que la réponse de KJN? Sa réponse provoquera-t-elle le recalcul de Min() pour chaque entrée dans la liste de données, ou le compilateur fera-t-il une mise en cache de cette valeur. J'en doute, mais j'aimerais le confirmer d'une façon ou d'une autre. –
Oui, il sera généralement plus rapide. :) – kjn
@ Øyvind Bråthen: Si vous utilisez LINQ to Objects, alors oui - Min() sera recalculé pour chaque entrée de la liste. –