What is Serialization

Serialization is the process of saving an object onto a storage medium (such as a file, or a memory buffer) or to transmit it across a network connection link in binary form. The series of bytes or the format can be used to re-create an object that is identical in its internal state to the original object. The process of recreating object is called de-serialization

'VB Example
<Serializable()> Class Employee

// C# Example
[Serializable]
class Employee

Serialization can be best seen in action in Dataset. A dataset can be passed between different layers across the machines. It can be saved as xml (serialization). Similarly, xml can be loaded into a dataset (deserialization)

There are two types of Serialization in .net:
XML Serialization: Do not serialize private fields and read only properties.
Formatted Serialization: Serializes every thing. Must be marked with [Serializable]. Optinally implement ISerializable interface.
  Two types:
    1)Binary Formatter
    2)SOAP Formatter