Skip to content

Instantly share code, notes, and snippets.

@sunmeat
Last active November 11, 2025 09:23
Show Gist options
  • Select an option

  • Save sunmeat/1c52f5ff6f34c3bd722c453a9ba8dd07 to your computer and use it in GitHub Desktop.

Select an option

Save sunmeat/1c52f5ff6f34c3bd722c453a9ba8dd07 to your computer and use it in GitHub Desktop.
практики на LINQ
  1. Об'єднання команд і гравців (Join)
    Завдання: Уяви базу даних футбольних команд. У тебе є дві колекції: команди з ID та назвою; гравці з ID команди, ім'ям та голами. Використовуй Join для об'єднання, щоб отримати список гравців з назвою їхньої команди, фільтруй гравців з >10 голами, сортуй за голами (за спаданням) і спроектуй у тип {Команда, Гравець, Голи}.
    Дані: 3 команди (Динамо Київ, Шахтар Донецьк, Металіст Харків); 5 гравців з голами.
    Очікуваний результат: Список з 3 гравцями, наприклад: Шахтар Донецьк: Михайло Коваленко (20 голів).

  2. Множинні операції з наборами пісень (Union/Intersect/Except)
    Завдання: У тебе є дві колекції пісень: рок з назвами та роками; поп з назвами та роками. Використовуй Union для всіх унікальних пісень, Intersect для спільних (кросовери), Except для рок-пісень, яких немає в поп. Спроектуй у {Назва, Рік}, сортуй за роком (за зростанням).
    Дані: Рок: Stairway to Heaven (1971), Bohemian Rhapsody (1975), Smells Like Teen Spirit (1991); Поп: Bohemian Rhapsody (1975), Thriller (1982), Shape of You (2017).
    Очікуваний результат: Union — 5 пісень; Intersect — 1; Except — 2 рок-пісні.

  3. Кастомна агрегація для транзакцій (Aggregate)
    Завдання: Колекція банківських транзакцій з сумою, типом (Дохід/Видаток) та датою. Використовуй Aggregate для кастомного обчислення: сума доходів мінус сума видатків, з урахуванням податку 10% на доходи >1000. Фільтруй транзакції за останній місяць (Date > 2025-10-01).
    Дані: 5 транзакцій (дохід 2000/10-05, видаток 500/10-10, дохід 1500/09-15, видаток 800/10-20, дохід 1200/10-25).
    Очікуваний результат: Загальний баланс за жовтень (з податком): 1680.00 грн.

  4. Перевірки для списку подій (Any/All)
    Завдання: Колекція подій з містом, типом (Концерт/Фестиваль) та кількістю учасників. Перевір, чи є події в Одесі (Any), чи всі події — концерти (All), чи є фестиваль з >1000 учасників (Any з умовою). Якщо є події в Одесі, спроектуй їх список, інакше — порожній.
    Дані: 4 події (Київ/Концерт/500, Львів/Фестиваль/2000, Київ/Концерт/800, Одеса/Концерт/300).
    Очікуваний результат: Події в Києві: True; Всі концерти: False; Великий фестиваль: True; Список подій у Києві з 2 записами.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment