вопрос не очень понятен, поэтому я сделал несколько предположений.Похоже, что человек, как вы его называете, имеет список образований, который будет представлять собой список степеней, каждое из которых имеет значение enum
, вы хотите получить наибольшее значение из этого списка и перевести его в enumvalue.
, поэтому с помощью кода, подобного следующему:
public class Person
{
public List<Education> Educations = new List<Education>();
}
public class Education
{
public Enums.DegreeType Degree { get; set; }
}
public class Enums
{
public enum DegreeType
{
Elementary_Education = 1,
High_School_Incomplete = 2,
High_School_Complete = 3,
Secondary_Technical_Or_Vocational = 5,
Vocational_Education_Student = 7,
Higher_Education_Institution__Student = 9
}
}
, мы можем теперь сделать что-то вроде этого:
var person = new Person();
person.Educations.Add(new Education { Degree = Enums.DegreeType.High_School_Complete });
person.Educations.Add(new Education { Degree = Enums.DegreeType.Vocational_Education_Student });
var highestEd = person.Educations.Select(p => (int)p.Degree).Max();
Enums.DegreeType enumHighest;
Enum.TryParse(highestEd.ToString(), out enumHighest);
обратите внимание, как я извлекаю высшее образование изсписок, а затем я могу проанализировать его обратно в его значение перечисления при необходимости.