Я пытаюсь отфильтровать список классов внутри родительского класса, но мне нужно вернуть родительский класс.
C# Код:
// Must return `Parents` class
public Parents FilterByAge()
{
Parents Family = new Parents() { FatherName = "John", MotherName = "Mary" };
Family.Children = new List<Children>(){
new Children{ Name = "Peter",Age=20},
new Children{ Name = "Alber",Age=15},
new Children{ Name = "Alex",Age=10},
new Children{ Name = "Ched",Age=5},
};
// Fail here, It will return `Children` class instead of `Parents` class.
return Family.Children.Where(o => o.Name == "Peter");
// Fail too, will show 'Family does not contain a definition for Where'
//return Family.Where(f => f.Children.Any(c => c.Name == "Peter"));
}
class Parents
{
public string FatherName { get; set; }
public string MotherName { get; set; }
public List<Children> Children { get; set; }
}
class Children
{
public string Name { get; set; }
public int Age { get; set; }
}
Как вернуть родительский класс после того, как Linq отфильтрует дочерний класс ? (Просто используйте Linq и вернитесь в одну строку, не изменяя данные и не создавая новый класс)