estoy teniendo dos lista comoC#: ¿Cómo ordenar una lista de objetos basado en una lista de cadena
List<String> l_lstNames = new List<String> { "A1", "A3", "A2", "A4", "A0" };
List<Test> l_lstStudents = new List<Test>
{ new Test { Age = 20, Name = "A0" },
new Test { Age = 21, Name = "A1" },
new Test { Age = 22, Name = "A2" },
new Test { Age = 23, Name = "A3" },
new Test { Age = 24, Name = "A4" },
};
Dónde Test
es clase como
public class Test
{
public String Name;
public Int32 Age;
}
necesito para ordenar los elementos en el l_lstStudents
basado en el l_lstNames
. Por lo que la lista ordenada será como,
List<Test> l_lstStudents = new List<Test>
{ new Test { Age = 21, Name = "A1" },
new Test { Age = 23, Name = "A3" },
new Test { Age = 22, Name = "A2" },
new Test { Age = 24, Name = "A4" },
new Test { Age = 20, Name = "A0" },
};
Ahora estoy usando for
para hacer esto.
Como
Crear una nueva lista de objetos
Test
.Iterate el ciclo
l_lstNames
y busca el objetoTest
del_lstStudent
y agrégalo a la lista recién creada. Finalmente asignar la nueva lista del_lstStudent
Por favor, ayúdame a hacer esto de una manera sencilla (LINQ o lambda)
Sé que dijo sencillo, pero ¿estás más preocupado por el rendimiento o pocas líneas de código? – Tung
posible duplicado de [Lista de clasificación C# basada en otra lista] (http://stackoverflow.com/questions/3355928/c-sharp-sort-list-based-on-another-list) – nawfal