phyxian Ответов: 2

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


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

Так скажем, например, у меня есть группа фруктов с таким содержанием, как яблоко, виноград, дыня, арбуз, ананас;
затем еще один список животных: кошка, собака, крыса, корова и так далее.

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

Заранее спасибо.

Что я уже пробовал:

I already have ideas about how to generate the random item from the list. I tried tinkering with  INI file  but it seems not to work with me since usually INI files contains key-pair and section value whereas my list will just be a plain list of name with a group name for that list.

2 Ответов

Рейтинг:
1

Jochen Arndt

Первый шаг-это определение формата файла для хранения данных, уже имея в виду, как данные могут быть просто прочитаны и записаны кодом. Это может быть самодетерминированный или существующий формат (например, упомянутые INI-файлы или XML).

Преимущество существующих форматов заключается в том, что обычно уже существует реализация для чтения и записи.

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

Чтение и запись текстовых файлов построчно довольно просто. Так что это может быть лучшим выбором в вашем случае, а также хорошим упражнением.

Примером формата файла может быть:


  • Пустые строки игнорируются
  • Необязательно: строки, начинающиеся с (выберите здесь не альфа-символ(ы)), рассматриваются как комментарии и игнорируются
  • Группа начинается с GROUP: оператор, за которым следует имя в одной строке: "GROUP:groupname"
  • Все следующие строки (если они не пусты или не являются комментарием) рассматриваются как члены группы до тех пор, пока не появится другой оператор группы или не будет достигнут конец файла


Затем ваше приложение должно содержать список групп, где каждая группа имеет имя (строка) и список членов (список строк).


Рейтинг:
0

#realJSOP

Не используйте INI-файл ("INI" означает "инициализация") для хранения данных. Используйте XML-файл.

0) создайте модель, производную от List<string> он также содержит строковое свойство для имени группы.

1) создайте форму, которая позволяет добавлять/редактировать / удалять элементы группы

2) Добавьте код в модель, использующую встроенный XML-сериализатор .Net для сохранения и извлечения групп.

3) Добавьте код для использования / отображения извлеченных элементов.

Быть программистом-значит уметь разбить требование на логические части. Если вы не можете этого сделать, вы потерпите довольно впечатляющий провал в качестве программиста.