Нужна функция автоматической нумерации базы данных в файлах (Windows C #)

#c# #windows #file

#c# #Windows #файл

Вопрос:

Мне нужно сохранить набор пар ключ-значение в файле. значения — это имена пользователей, а ключи должны быть автоматически сгенерированы и скрыты для пользователя (например, автоматический номер в базе данных, но мне не нужна БД) как мне это сделать?

Комментарии:

1. Просто из любопытства, почему вы не используете базу данных?

2. Поскольку приложение представляет собой САПР на базе Windows, я хочу сохранить каждый документ в виде файла для удобства обмена. Я думаю, что база данных не нужна, потому что текущий документ одновременно использует только один человек, и я не хочу устанавливать СУБД по мере установки программного обеспечения.

Ответ №1:

Если файл полностью находится под вашим контролем и записывается в него только из одного процесса одновременно, это несложно: вы просто сохраняете объект, содержащий «текущий ключ», и увеличиваете его при каждой записи.

Альтернативой автоматической нумерации является использование a Guid , что означает, что вам не нужно сохранять какое-либо состояние — просто создайте новое Guid для каждой записи.

Вы имели в виду именно это, или вы действительно просите помощи в разработке формата файла? Если это последнее, вы можете подумать о:

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