LINQ C#

Препод сказал продемонстрировать использование LINQ на примере класса

class Human

{

public string name;

public string status;

public int number;

public int age;

public Human() { }

public Human(string name, string status, int number, int age)

{

this.name = name;

this.status = status;

this.number = number;

this.age = age;

}

}

Помогите пожалуйста решить вопрос, замучался уже

Держи. В комментариях описание основных функций.

class Program
    {
        static void Main(string[] args)
        {
            var baseList = new List
            {
                new Human
                {
                    name = "Michael Jackson",
                    status = "President",
                    number = 69,
                    age = 25
                },
                new Human
                {
                    name = "Bill Clinton",
                    status = "Top manager",
                    number = 75,
                    age = 40
                },
                new Human
                {
                    name = "Leonid Chernoveckiy",
                    status = "Astronaut",
                    number = 14,
                    age = 35
                },
                new Human
                {
                    name = "Bob Marley",
                    status = "Minister",
                    number = 46,
                    age = 20
                }
            };
            var query =
                from dude in baseList // выбираем наш список как базу данных
                orderby dude.number // отсортировать по номеру
                where dude.number > 50 // уточнее, что номер должен быть больше 50
                select new // закинуть в переменную result следующее...
                {
                    result = dude.name   "; "   dude.age   " years old; "   dude.status   "; number: "   dude.number   "."
                };
            foreach (var item in query) // вывод подходящих элементов
            {
                Console.WriteLine(item.result);
                Console.WriteLine(new string('_', 55));
            }
            Console.ReadKey();
        }
    }

Вот список наиболее-распространенных функций в языке запросов LINQ:

1) Select - определяет проекцию выбранных значений Where - фильтр выборки

2) OrderBy - упорядочить от меньшего к большему

3) OrderByDescending - упорядочить от большего к меньшему Join - соединить 2 коллекции по какому-либо принципу

4) Concat - соединить 2 коллекции

5) GroupBy - сгруппировать элементы по ключу

6) Contains - определить наличие элемента в коллекции

7) Count - количество элементов в коллекции

8) Sum - сумма чисел в коллекции

9) First - выбирает первый элемент

10) Last - выбирает второй элемент

11) ElementAt - выбирает элемент последовательности по индексу

Подробнее про LINQ вы можете узнать в предпоследнем уроке на курсе C#Essential