Если вы хотите найти всех потомков StudCollections, вы можете написать метод расширения, например, так:
static public class LinqExtensions
{
static public IEnumerable<T> Descendants<T>(this IEnumerable<T> source, Func<T, IEnumerable<T>> DescendBy)
{
foreach (T value in source)
{
yield return value;
foreach (T child in DescendBy(value).Descendants<T>(DescendBy))
{
yield return child;
}
}
}
}
и использовать его так:
var students = StudCollections.Descendants(s => s.StudLists).Where(s => s.ID == 122);
ЕслиВы хотите одного студента с соответствующим идентификатором, используйте:
var student = StudCollections.Descendants(s => s.StudLists).FirstOrDefault(s => s.ID == 122);
if (student != null)
{
// access student info here
}