Using the File and Stream classes can be quite cumbersome if you have to save a complicated data structure with linked objects. You have to save the individual fields to disk, remembering which field belongs to which object and which object instance was linked to another object instance. When restoring the data structure, you have to reconstitute that arrangement of fields and object references.
The serialization technology provided by the .NET Framework does this for you. Serialization converts data structures to a byte stream. Deserialization converts the byte stream back to the data structures. Serializing and deserializing can be done on different machines so long as they both host the CLR.
Objects can be serialized without ...