Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2019, 13:29   #1
Vamo
 
Регистрация: 17.02.2019
Сообщений: 3
По умолчанию Данные в виде дерева - кто знает библиотеку?

Чтобы как компонент Treeview, но не visual. И можно было привязывать собственные объекты. К примеру классы или кортежы.
Vamo вне форума Ответить с цитированием
Старый 05.10.2019, 13:39   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так что именно сделать-то надо?

Что мешает просто создать класс Node со свойством типа Node[] Children?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 05.10.2019, 14:47   #3
Vamo
 
Регистрация: 17.02.2019
Сообщений: 3
По умолчанию

А в Node есть возможность создавать потомков детей и обращаться к ним по индексу? Ато я сейчас погуглить не могу.
Vamo вне форума Ответить с цитированием
Старый 05.10.2019, 14:52   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Node это ваш класс.

Стандартный List<T> например конечно позволяет легко добавлять элементы (или если хватит только во время инициализации, типа имутабельно, то передавайте IEnumerable в конструктор).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 05.10.2019, 15:09   #5
Vamo
 
Регистрация: 17.02.2019
Сообщений: 3
По умолчанию

Нужен именно как List<T> класс, но только дерево.
Vamo вне форума Ответить с цитированием
Старый 05.10.2019, 17:36   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

И? Я ж и говорю, сделайте List<Node> Children.
Или Dictionary если надо по именам обращаться.
Код:
    class Node
    {
        public Node(string value, IEnumerable<Node> children)
        {
            Value = value;
            Children = new List<Node>(children);
        }

        public Node(string value) : this(value, new List<Node>())
        { }

        public string Value { get; }
        public List<Node> Children { get; }

        public override string ToString()
        {
            return $"{Value}, [{String.Join(", ", Children)}]";
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            var tree = new Node("Hello", new []
            {
                new Node("world"), 
                new Node("We", new []
                {
                    new Node("need", new []
                    {
                        new Node("to", new []
                        {
                            new Node("go", new []
                            {
                                new Node("deeper"), 
                            }), 
                        }), 
                    }), 
                }), 
            });
            tree.Children.Add(new Node("new node"));
            tree.Children[1].Children.Insert(0, new Node("don't"));
            
            Console.WriteLine(tree);
        }
    }
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 05.10.2019 в 18:21.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Файл в виде В-дерева Stalig Фриланс 2 15.05.2013 19:11
XSD - схема в виде дерева m9yt C# (си шарп) 2 30.04.2013 15:54
Таблица в виде дерева НП... PHP 4 15.06.2010 15:12
DBGridEh. представить данные из таблицы в виде дерева yellow87 Компоненты Delphi 0 19.02.2010 03:56
Меню в виде дерева pu4koff JavaScript, Ajax 7 16.10.2007 11:24