J'ai une boucle pour la boucle où je veux commander le nom alphabétiquement regarder comment faire cela, je me demandais même si je pouvais utiliser Linq Orderby à l'intérieur de la Forloop? P> < / p>
4 Réponses :
Essayez ceci:
List<Item> myItems = new List<Item>(); //load myitems foreach(Item i in myItems.OrderBy(t=>t.name)) { //Whatever }
Une question légèrement noobaine, l'Orderby exécutera-t-il sur chaque itération de la boucle, provoquant ainsi une performance frappée?
Non, juste la seule fois
Pour tous ceux qui se demandent pourquoi cela ne fonctionne pas: Vérifiez si vous avez inclus le à l'aide de System.Linq; code> ligne.
foreach code> nécessite un
iEnumerable
iEnumerable
IEnumerable
new string[] { "d", "c", "b", "a" } .OrderBy(s => s) .ToList() .ForEach(s => MessageBox.Show(s));
Vous n'avez pas besoin d'une boucle du tout. Utilisez simplement LINQ:
List<MyClass> aList = new List<MyClass>(); // add data to aList aList.OrderBy(x=>x.MyStringProperty);
Qu'essayez-vous d'accomplir exactement?
Une boucle de cela? Une boucle de cordes? Vous voulez commander ces chaînes par nom? Si oui, faites juste votrelist.orderby (); Sinon, donnez-nous plus d'informations. Le code est le bienvenu aussi.