
LINQ & Delegates
Синтаксис запитів LINQ, синтаксис методів, delegate, event, lambda-вирази, func/action
1Що таке delegate у C#?
Що таке delegate у C#?
Відповідь
Delegate — це тип, що представляє посилання на методи з певною сигнатурою. Він дозволяє передавати методи як параметри, зберігати їх у змінних і викликати динамічно. Delegate є основою event та зворотних викликів у C#, забезпечуючи важливу гнучкість для подієво-орієнтованого програмування та патернів проєктування, таких як Strategy або Observer.
2Який правильний синтаксис для оголошення простого lambda-виразу?
Який правильний синтаксис для оголошення простого lambda-виразу?
Відповідь
Синтаксис (x) => x * 2 є правильною формою для lambda-виразу. Символ => (так званий "lambda operator") відокремлює параметри від виразу або тіла методу. Цей лаконічний синтаксис дозволяє створювати вбудовані анонімні функції, дуже корисні з LINQ або для передавання поведінки як параметрів. Дужки навколо параметра можна опустити, якщо він лише один.
3Який generic delegate слід використовувати для методу, що приймає int і повертає string?
Який generic delegate слід використовувати для методу, що приймає int і повертає string?
Відповідь
Func<int, string> — це відповідний generic delegate, оскільки Func використовується для методів, що повертають значення. За домовленістю останній параметр типу представляє тип повернення, а попередні — вхідні параметри. Func може приймати до 16 вхідних параметрів. Для методів без значення, що повертається, слід використовувати Action замість Func.
Яка головна різниця між Func та Action?
Що означає абревіатура LINQ?
+17 питань зі співбесід
Інші теми співбесід .NET
Основи C#
Основи мови C#
Основи ASP.NET Core
Життєвий цикл запиту в ASP.NET Core
Configuration & Settings
Життєвий цикл застосунку
Dependency Injection
Entity Framework Core
Minimal APIs
Розробка Web API
Async в ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Серіалізація JSON
Entity Framework Core просунутий
Розширені можливості C#
Clean Architecture
Logging, Monitoring & Observability
Модульне тестування та xUnit
Інтеграційні тести
Docker & Containerization
Керування пакетами NuGet
Memory Management & GC
Реактивне програмування
Async/await і патерни
.NET Design Patterns
Оптимізація продуктивності
Безпека та Best Practices
SignalR і реальний час
Архітектура мікросервісів
Опануй .NET для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно