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(); }