Пример #1
0
        static void Main(string[] args)
        {
            Author author = new Author
            {
                FirstName = "John",
                LastName  = "Cena"
            };
            Cartoon cartoon = new Cartoon
            {
                Author      = author,
                Duration    = 10,
                ContainsAds = true
            };

            PrintCartoon(cartoon);

            // Serialization
            BinaryFormatter binaryFormatter = new BinaryFormatter();

            using (FileStream stream = new FileStream("binary.dat", FileMode.Create))
                binaryFormatter.Serialize(stream, cartoon);
            Cartoon newCartoon;

            // Deserealization
            using (FileStream stream = new FileStream("binary.dat", FileMode.Open))
                newCartoon = binaryFormatter.Deserialize(stream) as Cartoon;
            PrintCartoon(newCartoon);
            // Serialization
            SoapFormatter soapFormatter = new SoapFormatter();

            using (FileStream stream = new FileStream("soap.soap", FileMode.Create))
                soapFormatter.Serialize(stream, cartoon);
            // Serialization
            XmlSerializer xmlSerializer = new XmlSerializer(typeof(Cartoon));

            using (FileStream stream = new FileStream("xml.xml", FileMode.Create))
                xmlSerializer.Serialize(stream, cartoon);
            // Serialization
            DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(Cartoon));

            using (FileStream stream = new FileStream("json.json", FileMode.Create))
                jsonSerializer.WriteObject(stream, cartoon);

            CollectedList <Point> points = new CollectedList <Point>();
            Random random = new Random();

            for (int i = 0; i < 10; ++i)
            {
                Point newPoint = new Point
                {
                    X = random.Next(0, 100),
                    Y = random.Next(0, 100)
                };
                points.Add(newPoint);
            }

            DataContractJsonSerializer pointsSerializer = new DataContractJsonSerializer(typeof(CollectedList <Point>));

            using (Stream stream = new FileStream("points.json", FileMode.Create))
                pointsSerializer.WriteObject(stream, points);

            // XPath
            XmlDocument doc = new XmlDocument();

            doc.Load(@"..\..\xml.xml");
            XmlNode n  = doc.SelectSingleNode("customers/customer[firstname='Jim']");
            XmlNode n1 = doc.SelectSingleNode("customers/customer/@id");

            Console.WriteLine(n.InnerText);
            Console.WriteLine(n1.InnerText);

            // Linq to XML
            XElement contacts = new XElement("Contacts"
                                             , new XElement("Contact", new XElement("Name", "Patric Heinz"), new XElement("Age", "20"))
                                             , new XElement("Contact", new XElement("Name", "Who me"), new XElement("Age", "31"))
                                             , new XElement("Contact", new XElement("Name", "Anonimous"), new XElement("Age", "1000"))
                                             , new XElement("Contact", new XElement("Name", "Charlie Chaplin"), new XElement("Age", "8")));

            Console.WriteLine("\tLINQ");
            var res = contacts.Descendants("Contact").Where(x => Int32.Parse(x.Element("Age").Value) >= 20).Select(x => x.Element("Name").Value);

            foreach (var item in res)
            {
                Console.WriteLine(item);
            }
        }
Пример #2
0
        static void Main(string[] args)
        {
            try
            {
                TVProgram[] programs = new TVProgram[4];

                programs[0] = new Film();
                programs[1] = new Cartoon();
                programs[2] = new News();
                programs[3] = new Advertising();

                programs[0].Duration = 4;
                programs[1].Duration = 6;
                programs[2].Duration = 3;
                programs[3].Duration = 200;
                for (int k = 0; k < 4; k++)
                {
                    Debug.Assert(programs[k].Duration != 0, "Duration cannot be 0!");
                }


                ProgramSequence seq = new ProgramSequence();

                foreach (TVProgram program in programs)
                {
                    seq.addProgram(program);
                }

                Console.WriteLine($"Full program length is {seq.Duration}");
                Console.WriteLine($"The number of advertising is {seq.Ads}");
            }
            catch (InvalidProgramException e)
            {
                Console.WriteLine("Catched InvalidProgramException");
                Console.WriteLine(e.TargetSite);
                Console.WriteLine(e.StackTrace);
                Console.WriteLine(e.Message);
            }
            catch (InvalidDurationException e)
            {
                Console.WriteLine("Catched InvalidDurationException");
                Console.WriteLine(e.TargetSite);
                Console.WriteLine(e.StackTrace);
                Console.WriteLine(e.Message);
            }
            catch (EmptySequenceException e)
            {
                Console.WriteLine("Catched EmptySequenceException");
                Console.WriteLine(e.TargetSite);
                Console.WriteLine(e.StackTrace);
                Console.WriteLine(e.Message);
            }
            catch (IndexOutOfRangeException e)
            {
                Console.WriteLine("Catched IndexOutOfRangeException");
                Console.WriteLine(e.TargetSite);
                Console.WriteLine(e.StackTrace);
                Console.WriteLine(e.Message);
            }
            catch (DivideByZeroException e)
            {
                Console.WriteLine("Catched DivideByZeroException");
                Console.WriteLine(e.TargetSite);
                Console.WriteLine(e.StackTrace);
                Console.WriteLine(e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.TargetSite);
                Console.WriteLine(e.StackTrace);
                Console.WriteLine(e.Message);
            }
            finally
            {
                Console.WriteLine("Finally called");
            }
        }
Пример #3
0
 static void PrintCartoon(Cartoon cartoon)
 {
     Console.WriteLine($"Author = {cartoon.Author.FirstName} {cartoon.Author.LastName}; Duration = {cartoon.Duration}; Ads = {cartoon.ContainsAds}");
 }