Сериализация просто берет объект и переводит его в нечто более простое. Представьте, что у вас был объект на C#, например:
class Employee
{
public int age;
public string fullname;
}
public static void Main()
{
var john = new Employee();
john.age = 21;
john.fullname = "John Smith";
var matt = new Employee();
matt.age = 44;
matt.fullname = "Matt Rogers";
...
Это C# дружественный. Но если вы хотите, чтобы сохранить эту информацию в виде текстового файла в формате CSV, вы бы в конечном итоге с чем-то вроде этого:
age,fullname
21,John Smith
44,Matt Rogers
Когда вы пишете CSV, вы в основном сериализации информацию в другом формате - в этом в случае CSV-файла. Вы можете сериализовать свой объект в XML, JSON, таблицу (ы) базы данных, память или что-то еще. Вот example from Udemy regarding serialization.
Если вы не сериализуете, путаница будет передана. Возможно, объект ToString() вашего объекта будет вызван под вызовом перед передачей и любым результатом передается. Поэтому жизненно важно преобразовать ваши данные в нечто дружелюбное к приемнику.
Всегда происходит сериализация. Когда вы выполняете запрос, который заполняет DataTable, например, произошла сериализация.
Возможный дубликат [Что такое сериализация объектов?] (Http://stackoverflow.com/questions/447898/what-is-object-serialization) – EJP