Beispiel #1
0
        static void Main(string[] args)
        {
            
            // new features in C# 6
            // auto property initialisation
            // null propagating operator
            // string interpolation
            // nameof operator
            // runtime exception filter with when
            // new dictionary initializer
            // expresson bodied members
            var p = new Person();
            var p2 = new Person { LastName = "Mustermann2" };
            Person p3 = null;
            var persons = new List<Person>();
            persons.Add(p);
            persons.Add(p2);
            persons.Add(p3);
            persons = persons.Where(px => px.LastName.EndsWith("2")).ToList();
            persons.Clear();

            var dict = new Dictionary<int, Person>
            {
                [1] = p,
                [2] = p2
            };

            foreach (var pers in persons)
            {
                //string firstName = null;
                //if (pers != null)
                //    firstName = pers.FirstName;
                string firstName = null;
                try
                {
                    firstName = pers.FirstName;
                }
                catch (NullReferenceException ex) when (firstName == null)
                {

                }
                catch (NullReferenceException ex) when (firstName == null)
                {

                }
                catch (Exception ex)
                {

                }
                //string firstName = pers?.FirstName;
                //Console.WriteLine(string.Format("Firstname: {0}", firstName));
                Console.WriteLine($"Firstname: {pers?.FirstName}");
                
            }
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            // First customer
              var person1 = new Person();
              person1.firstName = "Vik";
              person1.lastName = "Ewoods";
              person1.passportPrefix = new char[2];
              person1.passportPrefix[0] = 'A';
              person1.passportPrefix[1] = 'D';
              person1.passportSerial = 209901;
              person1.customerBalance = 1789.98F;

              // Second customer
              var person2 = new Person();
              person2.firstName = "Di";
              person2.lastName = "Dila";
              person2.passportPrefix = new char[2];
              person2.passportPrefix[0] = 'D';
              person2.passportPrefix[1] = 'C';
              person2.passportSerial = 345887;
              person2.customerBalance = 13099.65F;

              // Third customer
              var person3 = new Person();
              person3.firstName = "Alisa";
              person3.lastName = "Ewoods";
              person3.passportPrefix = new char[2];
              person3.passportPrefix[0] = 'K';
              person3.passportPrefix[1] = 'A';
              person3.passportSerial = 920012;
              person3.customerBalance = 16901.05F;

              // Creating person array - list
              var personArray = new Person[3];
              personArray[0] = person1;
              personArray[1] = person2;
              personArray[2] = person3;

              // Stating count total customers balance
              float totalUsersBalance = 0.00F;
              int x;
              for (x = 0; x <= 2; x++)
              {
            if (personArray[x] == null)
            {
              break;
            }
            totalUsersBalance += personArray[x].customerBalance;
              }
              Console.WriteLine("Total customer balance: " + totalUsersBalance);
              // Hold app
              Console.ReadLine();
        }
        public static Person[] ReadFilePersons(string fich)
        {

            var sr = new StreamReader(fich);

            string linha1;
            linha1= sr.ReadLine();
            int contador;
            contador = int.Parse(linha1);

            Person[] persons = new Person[contador];

            string linha;
            int i;
            try
            {
                for (i = 0; i < contador; i++)
                {

                    Person p;
                    linha = sr.ReadLine();
                    var tipo = Type.GetType(linha);

                    //ConstructorInfo[] info_const1 = tipo.GetConstructors(BindingFlags.NonPublic | BindingFlags.Instance);
                    //p= info_const1[0].Invoke(new object[0]) as Person;

                    p= Activator.CreateInstance(tipo, true) as Person;

                    
                    var infocampos = tipo.GetFields(BindingFlags.NonPublic | BindingFlags.Instance);

                    p.Read(sr);


                    if (infocampos[0].FieldType == typeof(string))
                        infocampos[0].SetValue(p, "xpto");

                    persons[i] = p;
                }
            }

            catch (Exception erro)
            {
                Console.WriteLine("erro {0} na leitura", erro); 
            }
            sr.Close();

            



            return persons;
        }
Beispiel #4
0
 static void Main(string[] args)
 {
     Student S1 = new Student();
     Console.WriteLine(S1.ToShortString());
     S1.PersonVal = new Person("Sergey", "Polyakov", new DateTime(1995, 4, 9));
     S1.StudentEducation = Education.Specialist;
     S1.GroupNumberVal = 232;
     S1.ExamsVal = new Exam[4];
     S1.TestsVal = new System.Collections.ArrayList();
     Console.WriteLine(S1.ToString());
     Exam[] buf = new Exam[] { new Exam("Programming", 5, new DateTime(2015, 12, 01)), new Exam("Economics", 5, new DateTime(2015, 12, 11)),
     new Exam("Math", 5, new DateTime(2015, 12, 14)), new Exam("Foreign language", 4, new DateTime(2015, 12, 20))};
     S1.AddExams(buf);
     Console.WriteLine(S1.ToString());
     Person p1 = new Person("Name", "SName", new DateTime(1998, 1, 1));
     Person p2 = new Person("Name", "SName", new DateTime(1998, 1, 1));
     Console.WriteLine(p1==p2);
     Console.WriteLine(p1.Equals(p2));
     Console.WriteLine(p1.GetHashCode().ToString()+" "+p2.GetHashCode().ToString());
     Student S2 = new Student("Ivan", "Ivanov", new DateTime(1994, 4, 5), Education.Bachelor, 432);
     S2.AddExams(new Exam[] {new Exam("Math", 5, new DateTime(2015,4,30)), new Exam("Biology", 4 ,new DateTime(2015,4,25))});
     S2.AddTests(new Test[] { new Test("Philosophy", true, new DateTime(2015, 4, 15)), new Test("Social", true, new DateTime(2015, 4, 10)) });
     Console.WriteLine(S2.ToString());
     Student S21 = (Student)S2.DeepCopy();
     S2.NameVal = "Petr";
     S2.SecondNameVal = "Petrov";
     Console.WriteLine(S2.ToString());
     Console.WriteLine(S21.ToString());
     S2.GroupNumberVal = 1000;
     foreach (Exam Ex in S2.ExamsVal)
     {
         if (Ex!=null)
             Console.WriteLine(Ex.ToString());
     }
     foreach (Test Ts in S2.TestsVal)
     {
         if (Ts != null)
             Console.WriteLine(Ts);
     }
     foreach (Exam Ex in S2.ExamsVal)
     {
         if ((Ex != null) && (Ex.Mark>3))
             Console.WriteLine(Ex.ToString());
     }
 }
        static void Main(string[] args)
        {
            Person person = new Person();
            person.SetId(1);
            person.FirstName = "Joe";
            person.LastName = "Smith";

            IFormatter formatter = new BinaryFormatter();
            Stream stream = new FileStream("Person.bin", FileMode.Create, FileAccess.Write, FileShare.None);
            formatter.Serialize(stream, person);
            stream.Close();

            stream = new FileStream("Person.bin", FileMode.Open, FileAccess.Read, FileShare.Read);
            Person person2 = (Person)formatter.Deserialize(stream);
            stream.Close();

            Person person3 = new Person();
            person3.SetId(1);
            person3.FirstName = "Joe";
            person3.LastName = "Smith";

            XmlSerializer xmlSerializer = new XmlSerializer(typeof(Person));
            StreamWriter streamWriter = new StreamWriter("Person.xml");
            xmlSerializer.Serialize(streamWriter, person);

            XmlSerializer xmlSerializer2 = new XmlSerializer(typeof(Person));
            FileStream fs = new FileStream("Person.xml", FileMode.Open);
            Person person4 = (Person)xmlSerializer2.Deserialize(fs);

            Person person5 = new Person();
            person5.SetId(1);
            person5.FirstName = "Joe";
            person5.LastName = "Smith";

            Stream stream2 = new FileStream("Person.json", FileMode.Create);
            DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Person));
            ser.WriteObject(stream2, person);
            stream2.Close();

            Stream stream3 = new FileStream("Person.json", FileMode.Open);
            DataContractJsonSerializer ser2 = new DataContractJsonSerializer(typeof(Person));
            person = (Person)ser2.ReadObject(stream3);
            stream.Close();
        }
        public static void SavePersons(Person[] array, string fich)
        {
            int contador = 0;

            foreach (Person p in array)
            {
                if (p != null)
                {

                    contador++;

                }

            }




            var save = new StreamWriter (fich);

            save.WriteLine(contador);

            foreach (Person p in array)
            {
                if (p != null)
                {
                    save.WriteLine(p.GetType().FullName);
                    p.SaveFile(save);
                    
                }

            }
           
 
            save.Close();

        }
 private static object getData(Person item)
 {
     Thread.Sleep(1000);
     return "Test Object " + item.Id;
 }
        static void Main(string[] args)
        {
            Person[] malta; // criar um instancia q identifica um array de Person
            malta = new Person[10]; // identifica q malta é um array de 10

            malta[0] = new Person("Zé", new DateTime(2005, 1, 1),true);
            malta[1] = new Student("Manel", new DateTime(2006, 1, 1), 10);
            malta[2] = new Person("Xico", new DateTime(2002, 1, 1), false);
            malta[3] = new Teacher("Mário", new DateTime(2002, 1, 1), Teacher.Categoria.assistente);

            foreach (Person elemento in malta)
            {
                if (elemento != null)
                    Console.WriteLine("{0} Idade: {1}", elemento, elemento.Age);
            }


             string fich;
            Console.Write("Indique ficheiro: ");

            fich = Console.ReadLine();

            Person.SavePersons(malta, fich);

            var malta1 = Person.ReadFilePersons(fich);
            Console.WriteLine("Leu");
            foreach (Person elemento in malta1)
            {
                Console.WriteLine(elemento);
                Console.WriteLine();
            }


        }
        static void Main2(string[] args)
        {

            Person p1 = new Person("Alice", new DateTime(1980,1,1),true); // p1 é uma <referência para um objecto com a estrutura da classe person
            int i = p1.Id;
            p1.Name = "Alice Tomás";
            p1.Show(); // chama o objecto show sobre o objecto p1
            Console.WriteLine("age{0} é parecido com {1}", p1.Name, p1.Age);
            Console.WriteLine("número de bonecos {0}", Person.GetNumberCli());

            Person p2 = new Person("Bob",  new DateTime(1990,1,1)); ;

            p2.Show(); // chama o objecto show sobre o objecto p2

            Console.WriteLine("número de bonecos {0}", Person.GetNumberCli());
 

        }
        private static int ReadFilePersons(Person[] array, string fich)
        {
            int contador = 0;

            var sr = new StreamReader (fich); 
            {
                string line_nome;
                  while ((line_nome = sr.ReadLine()) != null)  
                  {
                      string line_data = sr.ReadLine() ;
                      array[contador] = new Person(line_nome, DateTime.Parse(line_data));
                      contador ++ ; // contador = contador + 1

                  }

                  sr.Close();

            }



            return contador;
        }
        static void Main5(string[] args)
        {
            Person[] malta; // criar um instancia q identifica um array de Person
            malta = new Person[10]; // identifica q malta é um array de 10




            /*int max = 3; // máx pessoas a ler
            
            for (int pointer = 0; pointer < max; ++pointer)
            {

                malta[pointer] = ObtemNome();
            }*/

            int max = ReadFilePersons(malta, "Pessoas.txt");

            for (int pointer = 0; pointer < max; ++pointer)
            {

                Console.WriteLine(malta[pointer].ToString()); 
            }
            malta[3] = new Student("Zé", new DateTime(2005, 1, 1), 10);

            foreach (Person elemento in malta)
            {
                if (elemento != null)
                    Console.WriteLine("{0} Idade: {1}", elemento, elemento.Age);
            }

            int i;
            string linha1;
            Console.Write("Introduza número:");
            
            linha1 = Console.ReadLine();
            i = int.Parse(linha1);
            //Console.WriteLine(malta[i].ToString()); 

            
            Student s = malta [i] as Student;
            if (s != null)
                Console.WriteLine("nr_aluno {0} ", s.nr_aluno);
            else 
                Console.WriteLine("Não é estudante  {0} ", malta [i]); 
            //Console.WriteLine("Fim");


        }
        public static Person ObtemNome() // devolve uma estrutura person
        {
            string _name;
            DateTime _dt_nasc;
            Console.Write("Introduza o Nome:");
            _name=Console.ReadLine();
            Console.Write("Introduza a data de nascimento:");
            string linha = Console.ReadLine();
            _dt_nasc=DateTime.Parse(linha);

            Person p = new Person(_name, _dt_nasc);

            return p;
        }
Beispiel #13
0
 public virtual object DeepCopy()
 {
     Person p = new Person(Name, SecondName, DateOfBorn);
     return p;
 }