下面是一个测试类的序列化的例子,可以看看序列化和反序列化的耗时 namespace Queue ...{ [Serializable] public class Person ...{ private int _age; private string _name; public Person() ...{ _age = -1; _name = string.Empty; } public Person(int age, string name) ...{ _age = age; _name = name; } public int Age ...{ get ...{ return _age; } set ...{ _age = value; } } public string Name ...{ get ...{ return _name; } set ...{ _name = value; } } }} namespace Queue ...{ class Program ...{ static void Main(string[] args) ...{ Person person = new Person(23, "guangboo"); XmlSerializerFactory factory = new XmlSerializerFactory(); XmlSerializer serializer = factory.CreateSerializer(Type.GetType("Queue.Person")); StringWriter writer = new StringWriter(); TextReader reader = null; DateTime dt = DateTime.Now; //总的开始时间 int i = 1; while (i-- > 0) ...{ reader = null; writer = new StringWriter(); DateTime startTime = DateTime.Now; Console.WriteLine("序列化开始时间:" + startTime.Second.ToString() + ":" + startTime.Millisecond.ToString()); serializer.Serialize(writer, person); DateTime endTime = DateTime.Now; Console.WriteLine("序列化结束时间:" + endTime.Second.ToString() + ":" + endTime.Millisecond.ToString()); Console.WriteLine("序列化耗时:" + (endTime.Ticks - startTime.Ticks)); Console.WriteLine(writer.GetStringBuilder().ToString()); Console.WriteLine("------------序列化成功-------------"); reader = new StringReader(writer.GetStringBuilder().ToString()); DateTime startTime2 = DateTime.Now; Console.WriteLine("反序列化开始时间:" + startTime2.Second.ToString() + ":" + startTime2.Millisecond.ToString()); Person p = (Person)serializer.Deserialize(reader); DateTime endTime2 = DateTime.Now; Console.WriteLine("反序列化结束时间:" + endTime2.Second.ToString() + ":" + endTime2.Millisecond.ToString()); Console.WriteLine("反序列化耗时:" + (endTime2.Ticks - startTime2.Ticks)); Console.WriteLine("-------------反序列化成功------------"); reader.Close(); writer.Close(); } DateTime dt2 = DateTime.Now; long ticks = dt2.Ticks - dt.Ticks; Console.WriteLine(string.Format("--------------共耗时{0}毫秒---{1}--------------",DateTime.FromBinary(ticks).Millisecond,ticks)); Console.Read(); } }}