Для сортировки по названию просто используйте:
я проблема с использованием Linq для упорядочения такой структуры:
public class Person
{
public int ID { get; set; }
public List<PersonAttribute> Attributes { get; set; }
}
public class PersonAttribute
{
public int ID { get; set; }
public string Name { get; set; }
public string Value { get; set; }
}
Человек может пойти так:
PersonAttribute Age = new PersonAttribute { ID = 8, Name = "Age", Value = "32" };
PersonAttribute FirstName = new PersonAttribute { ID = 9, Name = "FirstName", Value = "Rebecca" };
PersonAttribute LastName = new PersonAttribute { ID = 10, Name = "LastName", Value = "Johnson" };
PersonAttribute Gender = new PersonAttribute { ID = 11, Name = "Gender", Value = "Female" };
Я хотел бы использовать проекцию LINQ для сортировки списка лиц по возрастанию по атрибуту person моего выбора, например, сортировки по возрасту или сортировки по FirstName.
Я пытаюсь что-то вроде
string mySortAttribute = "Age"
PersonList.OrderBy(p => p.PersonAttribute.Find(s => s.Name == mySortAttribute).Value);
Но синтаксис меня подводит. Есть какие-нибудь подсказки?