示例#1
0
        static void Main0(string[] args)
        {
            Women ws = new Women(5);


            foreach (Woman w in ws)
            {
                Console.WriteLine(w.GetSurName());
            }

            ws.Sort();

            Console.WriteLine("-----------");

            foreach (Woman w in ws)
            {
                Console.WriteLine(w.GetSurName());
            }

            /* Object obj = new Object();
             * WeakReference wr = new WeakReference(obj);
             * obj = null;
             * GC.Collect();
             * obj = (Object)wr.Target;
             * if (obj != null)
             *   Console.WriteLine("Object isn't collected");
             * else
             *   Console.WriteLine("Object is already collected");
             */

            XmlSerializer serializer = new XmlSerializer(typeof(Woman));
            string        xml;

            using (StringWriter stringWriter = new StringWriter())
            {
                Woman w = new Woman()
                {
                    Name = "Alice", Age = 20
                };
                serializer.Serialize(stringWriter, w);
                xml = stringWriter.ToString();
            }

            Console.WriteLine(xml);

            using (StringReader stringReader = new StringReader(xml))
            {
                Woman w = (Woman)serializer.Deserialize(stringReader);
                Console.WriteLine("{0} is {1} years old", w.Name, w.Age);
            }



            Console.ReadKey();
        }