using System;
using System.Text;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
[Serializable]
class Student
{
private Int32 no;
private String name;
public Student(Int32 no, String name)
{
this.no = no;
this.name = name;
}
public Int32 No
{
get { return no; }
set { no = value; }
}
public String Name
{
get { return name; }
set { name = value; }
}
public override String ToString()
{
return String.Format("No:{0}, Name:{1}", no, name); ;
}
}
class Program
{
public static void Main()
{
using (FileStream fs = new FileStream(".\\students", FileMode.OpenOrCreate))
{
BinaryFormatter bf = new BinaryFormatter();
for (Int32 i = 0; i < 5; i++ )
{
bf.Serialize(fs, new Student(i, "Student" + i));
bf.Serialize(fs, new Student(i, "Student" + i));
}
}
using (FileStream fs = new FileStream(".\\students", FileMode.OpenOrCreate))
{
BinaryFormatter bf = new BinaryFormatter();
while (fs.Position < fs.Length)
{
Console.WriteLine( (Student)bf.Deserialize(fs) );
}
}
}
}