Я имею два списка, какC#: Как отсортировать список объектов, на основе списка строки
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" },
};
Где Test
Классно как
public class Test
{
public String Name;
public Int32 Age;
}
Мне нужно отсортировать элементы в l_lstStudents
на основе l_lstNames
. Таким образом, отсортированный список будет походить,
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" },
};
Теперь я использую for
, чтобы сделать это.
Как
Создать новый список
Test
объектов.Итереть цикл для
l_lstNames
и извлечь объектTest
изl_lstStudent
и добавить его во вновь созданный список. Наконец назначить новый списокl_lstStudent
Пожалуйста, помогите мне сделать это простым способом (Linq или лямбда)
Я знаю, что ты сказал просто, но вы больше озабочены производительности или несколько строк кода? – Tung
Возможный дубликат [Сортировка списка C# на основе другого списка] (http://stackoverflow.com/questions/3355928/c-sharp-sort-list-based-on-another-list) – nawfal