내가 이런 구조를 주문 Linq를 사용에 문제가 연산 식 :정렬 목록 <T> 사용하여 쿼리
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를 사용하고 싶습니다 예를 들어 나이를 정렬하거나 이름을 정렬하는 등 내가 선택한 사람 특성에 따라 오름차순으로 사람 목록을 정렬하는 투영
나는
string mySortAttribute = "Age"
PersonList.OrderBy(p => p.PersonAttribute.Find(s => s.Name == mySortAttribute).Value);
같은 것을 시도하고 그러나 구문은 나를 실패합니다. 모든 단서?
이 자신의 질문에 대답하지 않습니다
은 사용 '이름'을 정렬합니다. 그는 자신의 데이터를 재구성하는 방법을 묻지 않았고 아마도 (아마도 존재할 수 있고 아마도 변경 불가능한 레거시) 데이터 구조를 정렬하는 방법을 물었습니다. –