using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.IO; using System.Runtime.Serialization.Formatters.Binary; ///<summary> /// ClassToSerialize 的摘要说明 ///</summary> [Serializable] publicclass ClassToSerialize { publicint id =100; publicstring name ="Name";
[NonSerialized] publicstring Sex ="男";
}
下面是串行化和反串行化的方法:
publicvoid SerializeNow() {
ClassToSerialize c =new ClassToSerialize();
FileStream fileStream =new FileStream("c://temp.dat", FileMode.Create);
BinaryFormatter b =new BinaryFormatter();
b.Serialize(fileStream, c);
fileStream.Close();
} publicvoid DeSerializeNow() {
ClassToSerialize c =new ClassToSerialize();
c.Sex ="kkkk";
FileStream fileStream =new FileStream("c://temp.dat", FileMode.Open, FileAccess.Read, FileShare.Read);
BinaryFormatter b =new BinaryFormatter();
c = b.Deserialize(fileStream) as ClassToSerialize; Response.Write(c.name);
Response.Write(c.Sex);
fileStream.Close();
}
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Xml.Serialization;
[Serializable] publicclass Person { privatestring name; publicstring Name { get { return name;
} set {
name = value;
}
} publicstring Sex; publicint Age =31; public Course[] Courses; public Person() {
} public Person(string Name) {
name = Name;
Sex ="男";
}
}
[Serializable] publicclass Course { publicstring Name;
[XmlIgnore] publicstring Description; public Course() {
} public Course(string name, string description) {
Name = name;
Description = description;
}
}