| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Работа с файлами |
| Автор: stron 23.4.2004, 22:50 |
| А как писать в файл свои типы? Напр., у меня тип состоит из нескольких статических массивов. |
| Автор: Kurt 24.4.2004, 02:35 | ||||
| Хм.. Уж не сериализация ли тебе нужна? Если, так то ниже следует пример как это все использовать. Пример готов к компиляции. Существет два "способа" сериализации (в кавычках, т.к. речь идет о формате записи..) - в двоичном формате и формате SOAP. Можно реализовать свой формат, но, ИМХО, и этого хватает. В общем, что в примере: Я создал свой класс (MyClass), к-й и буду писать в файл. Это мой тип. Там я определил пару полей, показал private, public и массив (строки). В принципе, без разницы, что за поля/методы у класса. Надеюсь, код получился вполне читаемый:
Все. Похоже? Или не то спрашивал?.. P.S. Если некоторые поля в классе константы, то их можно не сериализовать - зачем файл увеличивать? Для этого перед таким полем ставим:
|
| Автор: stron 25.4.2004, 19:14 | ||||
| Спасибо за помощь. Реализовал так:
|
| Автор: Kurt 25.4.2004, 21:13 |
| Без проблем. Всегда рад. |
| Автор: medos 20.5.2006, 13:25 | ||||||
У меня похожая задача, что и у строн, только мне надо сохранить не объект, а массив объектов (двумерный). Подскажите пожалуйста как. |
| Автор: Ch0bits 20.5.2006, 14:17 | ||
| medos Просто добавляешь в класс Mytype свой массив. Например двумерный массив типа int задаётся так:
|
| Автор: medos 20.5.2006, 15:58 |
| Дело в том, что каждый элемент массива представляет собой не число, а отдельный объект, над которым будут выполняться действия по ходу работы программы. Можно конечно записать массив в класс, но непонятно как после этого работать с этим массивом? Или все-таки как-нибудь можно выполнить сериализацию этих объектов по отдельности? |
| Автор: Ch0bits 20.5.2006, 19:11 |
| medos Точно также можно включить и массив объектов, только они должны поддерживать сериализацию, т.е. наследовать интерфейс ISerializable. |
| Автор: medos 20.5.2006, 19:33 |
| Имеется клас A, в классе имеется переменная b типа int, и массив c[n] типа int. Cвойства для переменной b легко установить с помощью методов set и get. Тогда к переменной b можно будет обращаться так: а.b Но как сделать так, чтобы обращаться к массиву с в виде а.с[i]? |
| Автор: VisualProgrammerNET 21.5.2006, 11:45 | ||
Насколько я понял... речь идёт об этом:
Эээ... Вариант 1 (для умных): Создать объект типа А. A a = new A(); a.c[0] = 1; Вариант 2 (для очень умных): Переделать public поле в static. Только я вот не помню, статические поля тоже сериализуются? |