Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace HomeWork
- {
- class Program
- {
- static void Main(string[] args)
- {
- var people = CreatePeople();
- var distinctPeople = people.Distinct(new Comparer()).OrderBy(x => x.Name);
- foreach (var person in distinctPeople)
- {
- Console.WriteLine($"Person name: {person.Name}");
- }
- }
- private static List<Person> CreatePeople()
- {
- return new List<Person>
- {
- new Person() { Name = "Nancy", Age = 7, PhoneNumber = "1", Languages = new List<string> {"English", "French", "Spanish", "Polish", "Ukrainian", "Portugal" }, },
- new Person() { Name = "Nancy", Age = 18, PhoneNumber = "1", Languages = new List<string> {"Spanish", "Polish", "Ukrainian", "Portugal" }, },
- new Person() { Name = "Bob", Age = 10, PhoneNumber = "2", Languages = new List<string> {"Spanish", "Polish", "Ukrainian" }, },
- new Person() { Name = "Bob", Age = 20, PhoneNumber = "2", Languages = new List<string> {"Spanish", "Portugal" }, },
- new Person() { Name = "Bob", Age = 11, PhoneNumber = "2", Languages = new List<string> {"Spanish", "Polish", "Ukrainian", "Portugal" }, },
- new Person() { Name = "Bob", Age = 2, PhoneNumber = "2", Languages = new List<string> {"English", "French", "Spanish"}, },
- new Person() { Name = "Ashtray", Age = 24, PhoneNumber = "3", Languages = new List<string> {"English", "French", "Spanish", "Polish", "Ukrainian", "Portugal" }, },
- new Person() { Name = "Nelson", Age = 80, PhoneNumber = "4", Languages = new List<string> {"English", "Polish", "Ukrainian", "Portugal" }, },
- new Person() { Name = "Monica", Age = 15, PhoneNumber = "5", Languages = new List<string> {"English", "French", "Spanish", "Polish", "Ukrainian" }, }
- };
- }
- }
- class Comparer : IEqualityComparer<Person>
- {
- public bool Equals(Person x, Person y)
- {
- return x.Name == y.Name;
- }
- public int GetHashCode(Person obj)
- {
- return obj.Name.GetHashCode();
- }
- }
- class Person
- {
- public int Age { get; set; }
- public string PhoneNumber { get; set; }
- public string Name { get; set; }
- public List<string> Languages { get; set; }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement