Ответы пользователя по тегу Базы данных
  • Как рекурсивно получить всех родителей у потомка?

    @KislyFan
    инженер, связист и просто любитель выпить
    Рекурсивно. Я так понимаю у тебя список TreeViewNode's соответственно чтобы найти всех родителей, тебе нужна функция которая будет принимать один экземпляр TreeViewNode, и отдавать список или массив Guid или TreeViewNode (зависит от ситуации).

    что-то вроде этого псевдокода
    public List<TreeViewNode> nodes = ...; 
    public List<Guid> GetAllParentsId(Guid Id)
    {
            List<Guid> response = new List<Guid>();
            TreeViewNode current = nodes.FirstOrDefault(n => n.Id == Id);
            if(current is null)
            {
                    return response;
            }
            //response.Add(current);
            var mynodes = GetAllParentsId(current.Id);
            if(mynodes.Count == 0)
            {
                    return response;
            }
            response.AddRange(mynodes);
            return response;
    }
    Ответ написан
    Комментировать