Я активно использую байтовый массив для передачи объектов, примитивных данных, по сети и обратно. Я адаптирую подход Java, имея тип, реализующий ISerializable, который содержит два метода, как часть интерфейса, ReadObjectData и WriteObjectData. Любой класс, использующий этот интерфейс, записывает дату в байтовый массив. Нечто подобное
class SerializationType:ISerializable
{
void ReadObjectData (/*Type that manages the write/reads into the byte array*/){}
void WriteObjectData(/*Type that manages the write/reads into the byte array*/){}
}
После завершения записи для всего объекта отправляю массив сети.
Это на самом деле двойной вопрос. Это правильный способ отправки данных по сети для максимальной эффективности (с точки зрения скорости, размера)?
Будете ли вы использовать этот подход для записи объектов в файл, в отличие от использования обычно сериализации xml?
Редактировать # 1
Джоэл Коухорн упомянул двоичный формат. Я никогда не использовал этот класс. Не могли бы вы уточнить, предоставить хороший пример, ссылки, рекомендации, текущую практику - в дополнение к тому, что я сейчас вижу на msdn?