Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/25: Рейтинг темы: голосов - 25, средняя оценка - 4.88
3 / 2 / 2
Регистрация: 24.05.2016
Сообщений: 248

В чем лучше хранить данные?

07.07.2017, 09:17. Показов 4961. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, недавно понадобилось хранить данные такого вида
%Заголовок%
имя_параметра , его тип(int, string, photo)
имя_параметра , его тип(int, string, photo)
имя_параметра , его тип(int, string, photo)
имя_параметра , его тип(int, string, photo)
%Заголовок%
имя_параметра , его тип(int, string, photo)
имя_параметра , его тип(int, string, photo)

проблема в том, что их может быть множество. Как легче их хранить и потом читать?

Заранее спасибо!)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.07.2017, 09:17
Ответы с готовыми решениями:

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

Как лучше хранить данные периодической таблицы Менделеева?
Друзья, нужна помощь, подсказки и указание направления движения :) Хочу изобрести велосипед создать структуру данных для хранения...

Как лучше хранить данные вида ключ - значение?
Программа должна работать с примерно 1000 записей вида ключ - значение, где ключ это что-то вроде уникального ID, а значение это число типа...

8
Эксперт .NET
 Аватар для Rius
13089 / 7649 / 1671
Регистрация: 25.05.2015
Сообщений: 23,291
Записей в блоге: 14
07.07.2017, 09:52
Множество это сколько?
Рассмотрите XML формат и XDocument.
Если файл будет более нескольких МБ, переходите на базы данных.
1
3 / 2 / 2
Регистрация: 24.05.2016
Сообщений: 248
07.07.2017, 11:43  [ТС]
там их будет несколько, штук 100. Проблема как их хранить
Например такая часть:
(
Игрок 1
имя , string
здоровье , int
патроны , int
аватар , photo
)
это только для примера (количество полей может отличаться, может не быть "патронов", но может появится "деньги". Кол-во полей и их названия может быть больше 4 или меньше)
0
Эксперт .NET
 Аватар для Rius
13089 / 7649 / 1671
Регистрация: 25.05.2015
Сообщений: 23,291
Записей в блоге: 14
07.07.2017, 11:53
Лучший ответ Сообщение было отмечено FastMailSend как решение

Решение

Если ограничиться разумным размером фотографий:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<data>
  <players>
    <player>
      <name type="string">Player 1</name>
      <hp type="integer>100</hp>
      <ammo type="integer">100500</ammo>
      <avatar type="image" format="png">Строка Base64</avatar>
    </player>
    <player>
      <name type="string">FastMailSend</name>
      <hp type="integer>100</hp>
      <ammo type="integer">100500</ammo>
      <avatar type="image" format="png">Строка Base64</avatar>
    </player>
    <player>
      <name type="string">Player 3</name>
      <hp type="integer>100</hp>
      <ammo type="integer">100500</ammo>
      <avatar type="image" format="png">Строка Base64</avatar>
    </player>
  </players>
</data>
По работе с XML почитайте Литература по C# для начинающих и не только Троелсена главы 12 и 24.
1
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
07.07.2017, 13:22

Не по теме:

Цитата Сообщение от Rius Посмотреть сообщение
Если файл будет более нескольких МБ, переходите на базы данных.
Базы это конечно круто, но юзают их не всегда из-за обьемов. =)



По вопросу:
данные будут переносимые между ПК? Если "да", то БД подойдет только в случае, если компы будут в одной сети, чтобы настроить их на одно хранилище.

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

У файлов есть один минус -- они крайне неудобны в перезаписи в рандомном месте списка. Пока все можно выгрузить в память, проблем нет, в противном случае это проблематично.
1
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
07.07.2017, 13:37
Цитата Сообщение от Wolfdp Посмотреть сообщение
БД подойдет только в случае, если компы будут в одной сети, чтобы настроить их на одно хранилище.
Embedded СУБД не? SQLite, Firebird.
Цитата Сообщение от Wolfdp Посмотреть сообщение
Если данные по сути являються "документом" (например сохранение игры, или результат работы, которы потом просто нужно открыть), то как по мне, лучше использовать файл, чтобы четко разграничить контент.
NoSQL СУБД.
Цитата Сообщение от Wolfdp Посмотреть сообщение
У файлов есть один минус
У файлов гораздо больше минусов, тут и скорость обращения. Одновременная работа с одним файлом из нескольких клиентов (точнее её невозможность). Открытость данных для любого мимокрокодила.
1
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
07.07.2017, 14:09
aquaMakc,
я понимаю что все кейсы своим сообщением не покрою, просто хотел указать, что количество/обьем данных не единичный критерий для выбора репозитория. NoSql кластная штука, но к примеру я писал для себя прогу "Пазл", и предусмотрел сохранения. Заморачиваться с NoSql вообще не вижу смысла в этом случае, т.к. мне по сути нужно только записать а потом только открыть, причем не нужны никакие выборки с фильтрами, тупо считать поток.

Ну или файл-проект для проги постоения смех булевской логики. Учитывая что в теории их можно перекидывать другим для просмотра, хранить все в одном файле наоборот плохо.

короче -- контекст задачи важен =)
1
3 / 0 / 1
Регистрация: 08.07.2017
Сообщений: 11
08.07.2017, 13:55
а если файлы не большие и данных не так много, почему не .dat файл? Их и перетаскивать с компьютера на компьютер легко и весят они немного
0
Эксперт .NET
 Аватар для Rius
13089 / 7649 / 1671
Регистрация: 25.05.2015
Сообщений: 23,291
Записей в блоге: 14
08.07.2017, 14:59
DAT-файла нет. Все файлы якобы формата DAT это файлы с одной автору программы известной структурой. Это расширение DAT то же самое, что и ООО "Рога и Копыта" или ООО "Вектор". Надо же что-то написать в расширении, а все сочетания 3 букв уже заняты.
Ничем не лучше XML-а.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.07.2017, 14:59
Помогаю со студенческими работами здесь

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

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

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

Как лучше хранить данные приложения, например, настройки
Здравствуйте. Прошу вашего совета: Разрабатываю приложение на c# (Windows Forms). Суть его(упрощенно) такова - есть определенные...

Где и в каком виде лучше всего хранить данные, загруженные из БД
Здравствуйте. При загрузке страницы, происходит обращение к бд, таким образом я получаю некоторую информацию из БД. Где лучше всего...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru