序列化例子: using System; using System.IO; using System.Runtime.Serialization.Formatters.Binary; namespace ConsoleApplication23 { [Serializable] public class Login { private string s_username; private string s_password; [NonSerialized] private string s_userid; public string UserName { get { return s_username; } set { s_username = value; } } public string PassWord { get { return s_password; } set { s_password = value; } } public string UserID { get { return s_userid; } set { s_userid = value; } } } public class Test { /// <summary> /// 序列化 /// </summary> public void BinaryFormatterSerialize() { Login login = new Login(); login.UserName = "admin"; login.PassWord = "123456"; login.UserID = "s2"; FileStream fileStream = new FileStream("c://User.dat", FileMode.Create); BinaryFormatter b = new BinaryFormatter(); //将一个对象图按字节的顺序持久化到一个指定的流 b.Serialize(fileStream, login); fileStream.Close(); } /// <summary> /// 反序列化 /// </summary> public void BinaryFormatterDeSerialize() { Login login = new Login(); login.UserName = "Jim"; FileStream fileStream = new FileStream("c://User.dat", FileMode.Open, FileAccess.Read, FileShare.Read); BinaryFormatter b = new BinaryFormatter(); //将一个持久化的字节序列转化为一个对象图 login = b.Deserialize(fileStream) as Login; Console.WriteLine(login.UserName); Console.WriteLine(login.PassWord); Console.WriteLine(login.UserID); fileStream.Close(); } public static void Main() { Test test = new Test(); test.BinaryFormatterSerialize(); test.BinaryFormatterDeSerialize(); } } }