Quiero pedir una Lista de objetos en C# por muchos campos, no solo por uno. Por ejemplo, supongamos que tengo una clase llamada X con dos atributos, A y B, y tengo los siguientes objetos, en este orden:¿Pide una lista (C#) por muchos campos?
objeto1 => A = "A", B = "h"
object2 => a = "a", B = "c"
object3 => a = "b", B = "x"
object4 => a = "b", B = "b"
y quiero ordenar la lista por un atributo en primer lugar, y cuando son iguales, por el elemento B, por lo que el orden sería:
"a" "c"
"a" "h"
"b" "b"
"b" "x"
Por lo que sé, el orden método OrderBy por un parámetro.
Pregunta: ¿Cómo puedo solicitar una lista de C# en más de un campo?
Muchas gracias
Esto no los ordenó para mí? ¿Qué me falta? Docs.OrderBy (o => o.AcctNum) . ThenBy (o => o.DocDate); –
Puede estar usando un .net anterior. Verifique esta respuesta: http://stackoverflow.com/questions/289010/c-sharp-list-sort-by-x-then-y/289040#289040. –
Para la posteridad: OrderBy no ordena la colección original, devuelve IOrderedEnumerable, por lo que debe asignar los resultados de OrderBy a una variable. p.ej. customers = customers.OrderBy (c => c.Surname) .ThenBy (c.Forename) .ToList(); –
CptCoathanger