Mam dwa lista jakC#: Jak posortować listę obiektów w oparciu o listy ciąg
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" },
};
Gdzie Test
jest klasa jak
public class Test
{
public String Name;
public Int32 Age;
}
muszę uporządkować elementy w l_lstStudents
na podstawie l_lstNames
. Tak uporządkowany wykaz będzie jak,
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" },
};
Teraz używam for
to zrobić.
Jak
Utwórz nową listę
Test
obiektów.Powtórz pętlę dla
l_lstNames
i pobierz obiektTest
zl_lstStudent
i dodaj to samo do nowo utworzonej listy. Wreszcie przypisać nową listęl_lstStudent
Proszę mi pomóc to zrobić w prosty sposób (Linq lub lambda)
Wiem, mówiłeś proste, ale jesteś bardziej związane z wykonaniem lub kilku liniach kodu? – Tung
możliwy duplikat [Listy sortowania C# na podstawie innej listy] (http://stackoverflow.com/questions/3355928/c-sharp-sort-list-based-on-another-list) – nawfal