Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace _01.Class_Student
- {
- class Problems1to12
- {
- static void Main(string[] args)
- {
- //Problem 1. Class Student
- var students = new List<Student>
- {
- new Student("Ivan", "Atanaschev",30,870020915,"+359 2 1122334455","kosta@abv.bg",new List<int> {2, 4, 5, 6},1,"ATHENS"),
- new Student("Victor", "Benov",30,881020915,"02 96969696","rotkiv@abv.bg",new List<int> {5, 6, 5, 6},1, "SOFIA"),
- new Student("Ivan", "Agitanski",17,891020915,"+359 474747474","john.p@abv.bg",new List<int> {6, 2, 6, 2},2,"VIENNA"),
- new Student("Nasko", "Rusev",24,894020915,"+454564643","ata.nas@gmail.com",new List<int> {2, 6, 6, 6},2, "VIENNA"),
- new Student("Lili", "Baba",21,894030914,"+359 979695959","lilski@yahoo.com",new List<int> {2, 6, 6, 6},1, "ATHENS"),
- new Student("Salami", "Salambo",25,894050915,"+359 4463924957","salami@abv.bg",new List<int> {4, 2, 6, 6},2,"SOFIA"),
- new Student("Resto", "Pesto",22,894056914,"+359 65986857","pesto@hotmail.com",new List<int> {6, 6, 6, 6},3,"ROME"),
- };
- Console.WriteLine("Problem 2. Students by Group");
- var groupTwoStudents =
- from st in students
- where st.GroupNumber == 2
- orderby st.FirstName
- select st;
- var group2 = students.Where(st => st.GroupNumber == 2).OrderBy(st => st.FirstName);
- PrintCollection(group2);
- Console.WriteLine();
- Console.WriteLine("Problem 3. Students by First and Last Name");
- var studentsFirstAndLastName =
- from st in students
- where st.FirstName.CompareTo(st.LastName) < 0
- select st;
- var studentsNameOrder = students.Where(x => x.FirstName.CompareTo(x.LastName) < 0);
- PrintCollection(studentsNameOrder);
- Console.WriteLine();
- Console.WriteLine("Problem 4. Students by Age");
- var studentsByAge =
- from st in students
- where (st.Age >= 18 && st.Age <= 24)
- select new { st.FirstName, st.LastName, st.Age };
- var studentAgeAnnonymos =
- students.Where(st => st.Age >= 18 && st.Age <= 24).Select(st => new { st.FirstName, st.LastName, st.Age });
- PrintCollection(studentAgeAnnonymos);
- Console.WriteLine();
- Console.WriteLine("Problem 5. Sort Students");
- var sortStudentsLINQquery =
- from st in students
- orderby st.FirstName descending, st.LastName descending
- select st;
- var studentsLinqExtMethods = students.OrderByDescending(x => x.FirstName).ThenByDescending(x => x.LastName);
- PrintCollection(studentsLinqExtMethods);
- Console.WriteLine();
- Console.WriteLine("Problem 6. Filter Students by Email Domain");
- var studentsByEmails =
- from st in students
- where st.Email.Contains("@abv.bg")
- select st;
- var studentsABV = students.Where(st => st.Email.Contains("abv.bg")).Select(st => new { st.FirstName, st.LastName, st.Email });
- PrintCollection(studentsABV);
- Console.WriteLine();
- Console.WriteLine("Problem 7. Filter Students by Phone");
- var studentsPhoneSofia =
- from st in students
- where (st.Phone.StartsWith("02") || st.Phone.StartsWith("+3592") || st.Phone.StartsWith("+359 2"))
- select st;
- var phoneSofia =
- students.Where(
- st => st.Phone.StartsWith("02") || st.Phone.StartsWith("+3592") || st.Phone.StartsWith("+359 2"));
- PrintCollection(phoneSofia);
- Console.WriteLine();
- Console.WriteLine("Problem 8. Excellent Students");
- var excellentStudents =
- from st in students
- where (st.Marks.Max() == 6)
- select new { Fullname = string.Join(" ", st.FirstName, st.LastName), Marks = string.Join(" ", st.Marks) };
- var studentsHas6 =
- students.Where(st => st.Marks.Max() == 6).Select(st => new { Fullname = string.Join(" ", st.FirstName, st.LastName), Marks = string.Join(" ", st.Marks) });
- PrintCollection(studentsHas6);
- Console.WriteLine();
- Console.WriteLine("Problem 9. Weak Students");
- var weakStudents = students.Where(st => st.Marks.Count(x => x == 2) == 2);
- PrintCollection(weakStudents);
- Console.WriteLine();
- Console.WriteLine("Problem 10. Students Enrolled in 2014");
- var enroledIn2014 =
- from st in students
- where (st.FacultyNumber % 100 == 14)
- select st;
- var joned2014 =
- students.Where(st => st.FacultyNumber % 100 == 14)
- .Select(st => new { st.FirstName, st.LastName, st.FacultyNumber });
- PrintCollection(joned2014);
- Console.WriteLine();
- Console.WriteLine("Problem 11. * Students by Groups");
- var studentsByGroups =
- from st in students
- group st by st.GroupName;
- var studentsGropuNames = students.Select(st => new { st.FirstName, st.LastName, st.GroupName }).GroupBy(st => st.GroupName);
- foreach (var group in studentsGropuNames)
- {
- Console.WriteLine(group.Key);
- PrintCollection(group);
- }
- Console.WriteLine();
- Console.WriteLine("Problem 12. * Students Joined to Specialties");
- var specialitiesFacNums = new List<StudentSpecialties>
- {
- new StudentSpecialties("Web Developer",900020915),
- new StudentSpecialties("Web Developer",901020915),
- new StudentSpecialties("PHP Developer",921020915),
- new StudentSpecialties("PHP Developer",924020915),
- new StudentSpecialties("QA Engineer",924030914),
- new StudentSpecialties("QA Engineer",924050915),
- new StudentSpecialties("Web Developer", 024056914)
- };
- var jonedData =
- from student in students
- orderby student.FirstName ascending, student.LastName ascending
- join speciality in specialitiesFacNums on student.FacultyNumber equals speciality.FacultyNumber
- select new { student.FirstName, student.LastName, student.FacultyNumber, speciality.Speciality };
- var jonedDataLinqExtMtd =
- students.OrderBy(st => st.FirstName)
- .ThenBy(st => st.LastName)
- .Join(specialitiesFacNums, st => st.FacultyNumber, sp => sp.FacultyNumber,
- (student, speciality) =>
- new { student.FirstName, student.LastName, student.FacultyNumber, speciality.Speciality });
- PrintCollection(jonedDataLinqExtMtd);
- Console.WriteLine();
- }
- static void PrintCollection(IEnumerable collection)
- {
- foreach (var item in collection)
- {
- Console.WriteLine(item);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement