У меня есть этот код.C# Сериализация, десериализация массива объектов
const int maxbooks = 5;
Book[] booklist = new Book[maxbooks];
FileStream fs = File.Open(@"books.txt", FileMode.Open, FileAccess.Read);
SoapFormatter sf = new SoapFormatter();
try
{
// something here, deserializing file and assigning to the array
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
fs.Close();
}
Я понял (или, по крайней мере, я думаю, я понял,), как сериализовать исходный массив объектов в виде отдельной программы. Теперь я хочу сериализовать это и создать новый массив с сериализованными данными. Просто для справки, вот другой файл, в котором я сериализовать исходный массив
Book firstbook = new Book("Jimbob", "Jimbob book", "first edition", "Jimbob publishing", "1991");
Book secondbook = new Book("Greg", "Greg book", "third edition", "Unholy publishing", "2010");
Book thirdbook = new Book("Pingu", "Pingu book", "tenth edition", "Antarctic publishing", "1897");
Book fourthbook = new Book("Patrick", "Patrick book", "seventh edition", "underwater publishing", "1991");
Book fifthbook = new Book("Sally", "Sally book", "first edition", "Wowpublishing", "2015");
const int maxbooks = 5;
Book[] booklist = new Book[maxbooks];
booklist[0] = firstbook;
booklist[1] = secondbook;
booklist[2] = thirdbook;
booklist[3] = fourthbook;
booklist[4] = fifthbook;
// writing to a file
FileStream fs = File.Open(@"books.txt", FileMode.Create, FileAccess.Write);
SoapFormatter sf = new SoapFormatter();
int bookindex = 0;
try
{
while (bookindex < maxbooks)
{
sf.Serialize(fs, booklist[bookindex]);
bookindex += 1;
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
fs.Close();
}
Использование SOAP-сериализации на данный момент с этим. Любая помощь будет оценена.
И вопрос в том, что? – Oscar
«Теперь я хочу сериализовать это и создать новый массив с сериализованными данными». – iskelz
Может быть, [это] (http://stackoverflow.com/questions/14675485/serialize-arraylist-of-objects) нить поможет вам. –