Tengo un bucle donde quiero orderBy el nombre en orden alfabético¿Hay alguna manera de usar orderby en un forloop C#?
a
b
c
d
buscando la manera de hacer esto, se preguntó siquiera si podía usar LINQ OrdenarPor dentro del forloop?
Tengo un bucle donde quiero orderBy el nombre en orden alfabético¿Hay alguna manera de usar orderby en un forloop C#?
a
b
c
d
buscando la manera de hacer esto, se preguntó siquiera si podía usar LINQ OrdenarPor dentro del forloop?
Prueba esto:
List<Item> myItems = new List<Item>();
//load myitems
foreach(Item i in myItems.OrderBy(t=>t.name))
{
//Whatever
}
una pregunta levemente noobish, ¿se ejecutará el orden en cada iteración del bucle causando así un golpe de rendimiento? – nikolifish
No, solo la única vez –
Para cualquiera que se pregunte por qué esto no funciona: Compruebe si ha incluido la línea 'using System.Linq;'. – z00l
foreach
necesita una IEnumerable<T>
LINQ orden por llevaremos con IEnumerable<T>
y le da una ordenados IEnumerable<T>
. Entonces sí, debería funcionar.
new string[] { "d", "c", "b", "a" }
.OrderBy(s => s)
.ToList()
.ForEach(s => MessageBox.Show(s));
No necesita un lazo en absoluto. Simplemente use LINQ:
List<MyClass> aList = new List<MyClass>();
// add data to aList
aList.OrderBy(x=>x.MyStringProperty);
¿Qué está tratando de lograr exactamente? – R0MANARMY
¿Un bucle de eso? ¿Un bucle de cuerdas? ¿Desea ordenar estas cadenas por su nombre? Si es así, simplemente haz yourList.OrderBy(); Si no, danos más información. El código es bienvenido también – goenning