Если бы у меня был объект под названием Thing
, который имел имущество Id
и Children
, где Children
по существу является списком Thing
. Это будет выглядеть следующим образом:Как написать запрос LINQ для рекурсии?
Public Class Thing
Public Property Id As Guid
Public Property Children As List(Of Thing)
End Class
Теперь Учитывая существующий List(Of Thing)
, давайте назвал его aList
ради этого примера, как я мог бы использовать LINQ для рекурсивного цикла бросить каждую вещь и детей, чтобы выяснить, если элемент существует во всей иерархии?
Dim aList As List(Of Thing)
В порядке слов, учитывая идентификатор, как бы я написать заявление LINQ против aList
, чтобы увидеть, если этот идентификатор существует где-нибудь в иерархии?
Надеюсь, вы можете мне помочь и заблаговременно за ваш вклад!
Написать рекурсивную функцию, которая принимает '' IEnumerable и 'Thing', чтобы соответствовать. –
Просто любопытно, это код vb.Net. Вы хотите только решения VB? Если это так, вы должны добавить тег [tag: vb.net]. – ryanyuyu
Будет что-то вроде 'aList.single (function (x) x.Id = refId)' не так ли? – Fjodr