|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.02.2014, 20:11 | #1 | |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,323
|
Сортировка массива объектов по заданному полю и запись их в бинарный файл
Привет!
У меня есть два примера. В одном я реализовал сортировку обычного массива по заданному полю: http://codepad.org/lhZjRC9h А в другом примере, реализована запись List объектов в бинарный файл: http://codepad.org/Kynck94U Пример взят отсюда: http://www.sharp-blog.ru/Serializaci...jl-csharp.html Теперь мне нужно переделать первый пример так, чтобы была запись в бинарный файл. Но там обычный массив, а во втором примере List. Вот что лучше сделать: переделать сортировку под List или сделать запись в бинарный файл для обычного массива? Подробнее о первом примере: Реализовал сортировку массива объектов по заданному полю. Пользователю предлагается ввести лекарства (название, цена и т.д.). Для этого он вводит команду: add. После ввода нескольких лекарств, он может отсортировать их по заданному полю. После ввода команды help: Цитата:
|
|
19.02.2014, 01:01 | #2 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
BinaryFormatter - и хоть список, хоть массив. В бинарный файл (в качестве выходного потока указать файловый поток) писать и то и то будет одинаково удобно. Ну и читать соответственно
Благодарить в репутацию. Проклинать — туда же
|
19.02.2014, 14:27 | #3 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,323
|
Спасибо за ответ!
Для удобства: - класс со студентами (студенты в List, их можно записать в файл) http://codepad.org/Kynck94U - класс с лекарствами объекты, которого нужно записать в файл (массив Remedy[]): http://codepad.org/lhZjRC9h Чтобы объект можно было записать в файл, нужно унаследовать от ISerializable: Код:
Код:
|
19.02.2014, 14:36 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ISerializable не класс, а интерфейс.
итого, класс может имеет одного предка и может иметь множество реализаций интерфейсов. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
19.02.2014, 14:39 | #5 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,323
|
Спасибо!
Но если я так пишу, то двоеточие подчёркивается красным: Код:
|
19.02.2014, 14:40 | #6 | ||
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
Цитата:
Цитата:
Код:
P.P.S. List<Student> можно завернуть в класс-обертку, удобнее будет. Ну и атрибут [Serializable] можно будет поставить. Код:
Благодарить в репутацию. Проклинать — туда же
Последний раз редактировалось Luuzuk; 19.02.2014 в 14:47. |
||
19.02.2014, 14:58 | #7 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,323
|
Спасибо огромное! Это бы здорово облегчило жизнь, но объекты сохраняются в файл, но не загружаются.
Код:
Код:
Код:
|
19.02.2014, 15:05 | #8 | |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
Цитата:
Благодарить в репутацию. Проклинать — туда же
|
|
19.02.2014, 15:10 | #9 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,323
|
Я ввожу лекарства и комадну savе: http://codepad.org/0sHBBAN4
|
19.02.2014, 15:27 | #10 | |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,323
|
Добавил в case: nmed = med.Count();
Код:
Цитата:
Код:
Код:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запись в бинарный файл структуры | Стремящийся | Visual C++ | 1 | 18.03.2012 13:01 |
запись в бинарный файл | Shepard90 | Общие вопросы C/C++ | 2 | 28.06.2011 08:59 |
с++ запись в бинарный файл ofstream::write | Farrel | Общие вопросы C/C++ | 1 | 25.11.2010 00:19 |
Чтение/запись массива объектов в файл | MrBrain | Общие вопросы .NET | 0 | 08.06.2010 10:44 |
запись классов в бинарный файл | Feannewedd | Общие вопросы C/C++ | 6 | 29.06.2009 10:11 |