|
1 / 1 / 0
Регистрация: 29.09.2013
Сообщений: 26
|
|
.NET 4.x Как сделать древо для контекстного меню с возможностью сохранения и загрузки14.01.2021, 06:04. Показов 574. Ответов 1
Я как веб разработчик на PHP и JS часто пользовался ассоциативными массивами с многоуровневой вложенностью. Причем массив мог иметь в себе разные типы, например один элемент содержит объект со свойствами, а соседний элемент это массив в котором тоже есть объекты со свойствами. Структура визуально напоминает многоуровневое меню или например закладки в браузере.
Возник вопрос как подобное реализовать в C#. Сам объект со свойствами как я понял можно создать например через Dictionary<string,string>(поправьте если есть вариант лучше). Но вложенность требует разнотипность элементов в массиве, т.е. какие то элементы будут конечными с типом Dictionary<string,string>, а какие то будут неким "проводником" к массиву из Dictionary<string,string> внутри. Чтобы еще понятнее было о какой структуре я говорю привожу визуализацию примерной структуры (она естественна может быть разной вложенности и иметь разное кол-во ветвей). Так же хочется сделать чтобы это древо легко можно было сериализовать для сохранения в файл и потом так же легко считать его восстановив древо.
0
|
|
| 14.01.2021, 06:04 | |
|
Ответы с готовыми решениями:
1
Как сделать мультиплеер с возможностью сохранения?
Как сделать выбор файла с возможностью сохранения путей? |
|
14138 / 9367 / 1350
Регистрация: 21.01.2016
Сообщений: 35,248
|
||
| 14.01.2021, 08:29 | ||
|
Ваше дерево должно (и может!) состоять из объектов или одного типа (класса) или одной иерархии (классы-наследники одного общего предка). В том числе, даже если вы пишете на PHP. И в случае с ассоциативными коллекциями тоже самое: пихать в одну кучу строки, даты, числа и всё остальное - есть чистое фу.
0
|
||
| 14.01.2021, 08:29 | |
|
Помогаю со студенческими работами здесь
2
Как сделать программу для меню загрузки? Как сделать свои пункты контекстного меню файлов в проводнике? Как сделать, чтобы при редактировании появлялся тот пункт контекстного меню, который был до этого? Как создать горячие клавиши в реесторе для пункта контекстного меню Сделать неактивной кнопку из контекстного меню Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|