Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/12: Рейтинг темы: голосов - 12, средняя оценка - 4.50
26 / 26 / 11
Регистрация: 08.08.2011
Сообщений: 1,165
1

Где и как лучше всего хранить структурированную информацию

22.06.2012, 12:02. Показов 2465. Ответов 11
Метки нет (Все метки)

У меня строковые данные вида:

департамент строительства
приказ N 21
письмо 12
письмо о тарифах

департамент здравоохранения
приказ N 301
приказ N 312
письмо об Иванове

департамент образования
приказ N 12
приказ N 312
письмо об Петрове

Значит, есть список департаментов и для каждого департамента есть список документов. В какой структуре нужно хранить эти данные?

Попробовал сделать
C#
1
Dictionary <string, List<string>> Dic1 = new Dictionary <string, List<string>>();
но не совсем понятно, как добавлять документы в такую структуру и как потом извлекать их оттуда.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.06.2012, 12:02
Ответы с готовыми решениями:

Как и где лучше хранить информацию программы
я хочу сохранить какую-то информацию ,которую ввожу в программу например почтовый ящик, в каком...

Где и как лучше всего хранить строку, которая будет подвергаться значительным изменениям
Добрый вечер. Пишу программу, которая использует строку и предполагает большое кол-во внесенных и...

Где лучше всего хранить настройки приложения
Доброго времени суток. Пишу программу на Windows Forms. Нужно сохранять некие настройки программы....

Как лучше всего хранить двумерный массив переменного размера
Здравствуйте! Мне нужно хранить квадратный массив, размер которого может увеличиваться, но он...

11
8 / 8 / 3
Регистрация: 05.05.2012
Сообщений: 59
22.06.2012, 12:29 2
Попробуй XML сделать. Потом его просто распарсь и все.
0
26 / 26 / 11
Регистрация: 08.08.2011
Сообщений: 1,165
22.06.2012, 13:42  [ТС] 3
Нет, мне нужно динамически добавлять в эту структуру документы, потом строить из не выборки различные. В общем, как добавлять элементы в
C#
1
Dictionary <string, List<string>> Dic1 = new Dictionary <string, List<string>>();
?

При условии, что я не знаю сразу весь список документов каждого департамента. Я получаю эти документы постепенно и должен добавлять их в структуру.

Добавлено через 55 минут
Вопрос снят, подсказали ответ:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  Dictionary<string, List<string>> dict = new Dictionary<string, List<string>>();
 
            //Добавление новых элементов
            dict.Add("один", new List<string>());
            dict.Add("два", new List<string>());
 
            dict["один"].Add("значение 1");
            dict["два"].Add("значение 1");
 
            //Выборка
            foreach(KeyValuePair<string, List<string>> kvPair in dict)
            {
                Console.WriteLine(kvPair.Key);
                foreach (string str in kvPair.Value)
                {
                    Console.WriteLine(" " + str);
                }
            }
1
47 / 47 / 7
Регистрация: 09.06.2012
Сообщений: 148
22.06.2012, 17:29 4
А почему бы не использовать старый добрый Dataset? Создать таблички департаментов и документов и связать их по ИДу. В табличку документов и добавлять новые

Добавлено через 16 минут
А хранить все это дело в XML, если уж связывать с базами данных неохота. Благо у DataSet есть методы ReadXm() и WriteXml()
0
26 / 26 / 11
Регистрация: 08.08.2011
Сообщений: 1,165
22.06.2012, 17:39  [ТС] 5
Так в оперативной памяти шустрее будет работать, чем при чтении из XML
0
47 / 47 / 7
Регистрация: 09.06.2012
Сообщений: 148
22.06.2012, 17:54 6
Ну так, как я поняла, вопрос в хранении данных уже после закрытия проги, или тебе эти данные нужны только пока прога запущена? тогда тем более DataSet!
0
Эксперт .NET
15555 / 11804 / 3097
Регистрация: 17.09.2011
Сообщений: 19,718
23.06.2012, 10:56 7
У нас же объектно-ориентированный язык.
Создайте класс или структуру, представляующую данные и потом уже создавайте список этих классов\структур.
0
555 / 509 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
23.06.2012, 11:25 8
это реальная задача или упражнение?
если упражнение - вспомнить, какую тему только что "проходили" и ею воспользоваться.
если реальная задача - оценить перспективы развития задачи: как это может в будущем расти в сложности и объеме, тогда решить. если данные будут только эти, без никакой связи с какими-то еще, и объем никогда не превысит пару тысяч - просто список структур или классов (что практически одно и то же), если будет развиваться - dataset.
0
26 / 26 / 11
Регистрация: 08.08.2011
Сообщений: 1,165
25.06.2012, 11:35  [ТС] 9
Реальная задача. Решение уже найдено (в третьем сообщении).

Также попробую dataset. Всем спасибо!
0
4 / 4 / 2
Регистрация: 26.08.2013
Сообщений: 18
27.09.2013, 13:58 10
Цитата Сообщение от kolorotur Посмотреть сообщение
У нас же объектно-ориентированный язык.
Создайте класс или структуру, представляующую данные и потом уже создавайте список этих классов\структур.
Сорри за подъём старой темы.

Всегда интересовал вопрос: в чём лучше хранить базы объектов - в структурах или классах? Допустим, у 3 типа объектов (самих объектов очень много). Наследование в принципе не нужно, поскольку каждый тип независим от других. Что в этом случае предпочтительнее, структуры? Вообще, когда лучше использовать структуры, а когда классы?

Заранее спасибо за ответ.
0
Эксперт .NET
15555 / 11804 / 3097
Регистрация: 17.09.2011
Сообщений: 19,718
27.09.2013, 21:50 11
Цитата Сообщение от Mike1991 Посмотреть сообщение
в чём лучше хранить базы объектов - в структурах или классах?
Если возникает такой вопрос, то храните в классах. Это по умолчанию.
Оправдывать нужно использование именно структуры.
1
0 / 0 / 1
Регистрация: 28.09.2013
Сообщений: 35
28.09.2013, 18:36 12
Цитата Сообщение от Mike1991 Посмотреть сообщение
Всегда интересовал вопрос: в чём лучше хранить базы объектов - в структурах или классах? Допустим, у 3 типа объектов (самих объектов очень много). Наследование в принципе не нужно, поскольку каждый тип независим от других. Что в этом случае предпочтительнее, структуры? Вообще, когда лучше использовать структуры, а когда классы?
Возьмите за правило, что в объектах классов для БД и больших структурированных данных - всегда. Причем:
При передаче объектов передаются ссылки на объект.
При передаче структур - тянутся данные, создается копия структуры (если структура не в объектах лежит). При этом все изменения происходят с копией.

Мелкие справочные данные типа "Да/нет" можно пихать и в структуры.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.09.2013, 18:36

Как и где лучше хранить данные для их добавления, удаления и редактирования
Всем доброго дня. Прошу внимания и совета, помощи. Незнаю как реализовать, дайте пожалуйста...

Файлы vs БД (в чем лучше хранить секретную информацию?)
Здравствуйте. Такой вопрос - в чем лучше хранить секретную информацию на ПК пользователя? Т.е. в...

ПС Сервисный центр. В каком виде лучше хранить информацию
Здравствуйте. Мы изучаем в колледже C#. Задали курсовую работу. Я выбрал работу &quot;сервисный центр&quot;,...

В каком типа файла лучше всего хранить заметки с необходимыми параметрами шрифта
Есть программа для заметок(создание, редактирование и т.д.). Есть возможность настраивать шрифт,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru