Страница: 1 |
Страница: 1 |
Вопрос: VB.NET Хранение древовидных данных.
Добавлено: 03.08.10 12:50
Автор вопроса: GDK
Какую коллекцию лучше использовать для хранения древовидных данных в памяти?
Нужно хранить информацию о меню чужого приложения. Информацию от чужого приложения вытягиваю с помощью АПИ ф-ций. Меню имеет древовидную структуру item/subitem/subitem/... Хочется найти удобное средство для её хранения.
Ответы
Всего ответов: 13
Номер ответа: 1
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #1
Добавлено: 03.08.10 13:50
Специальных древовидных структур в .NET нет, а так легко делается на обычном List(Of T)
Номер ответа: 2
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #2
Добавлено: 03.08.10 14:28
Серьезно, сделай свою структуру. Не сложно, и не долго
Номер ответа: 3
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #3
Добавлено: 03.08.10 14:49
+1
там будет то всего 2 свойства..
Parent & Items
Номер ответа: 4
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #4
Добавлено: 03.08.10 15:04
Parent не обязательно
Номер ответа: 5
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #5
Добавлено: 03.08.10 15:05
Это уже дело вкуса.. лично я предпочитаю иметь ссылку на родителя всегда под рукой..
Номер ответа: 6
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #6
Добавлено: 03.08.10 15:15
Ну тогда нужно еще добавлять механизм, не допускающий зацикливания объектов через свойство Parent
Номер ответа: 7
Автор ответа:
GDK
Вопросов: 13
Ответов: 348
Профиль | | #7
Добавлено: 03.08.10 15:21
Потом при заполнении будет типа структура в структуре? Можно маленький примерчик?
Номер ответа: 8
Автор ответа:
GDK
Вопросов: 13
Ответов: 348
Профиль | | #8
Добавлено: 03.08.10 15:21
на ArrayList?
Номер ответа: 9
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #9
Добавлено: 03.08.10 15:57
Это почти то же самое что и List, но List типизирован, ArrayList - нет (поэтому List лучше)
Поля переделать на свойства.
Номер ответа: 10
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #10
Добавлено: 03.08.10 17:31
As NEW List чтоб не создавать вручную
Номер ответа: 11
Автор ответа:
Eugy
Вопросов: 0
Ответов: 73
Профиль | | #11
Добавлено: 04.08.10 02:53
Помоему, самое удобное - это хендл HMENU.
Зачем какая-то структура, что мешает сделать дубликат
Номер ответа: 12
Автор ответа:
Eugy
Вопросов: 0
Ответов: 73
Профиль | | #12
Добавлено: 06.08.10 01:13
GDK писал(а):
Как вытягиваешь? Не знаешь, что возвращает GetMenu?
Номер ответа: 13
Автор ответа:
GDK
Вопросов: 13
Ответов: 348
Профиль | | #13
Добавлено: 10.08.10 09:36
У меня на ВБА рабочий код есть. Я его сейчас перевожу на вб.нет. Когда сделаю, пример выложу. Главное не забыть.
ЗЫ Чужое приложение написано на С++.