Похожие презентации:
Minimalist_Delegates_Lambda_Action_Func_CSharp
1.
Введение• Приветствие и обзор темы: Делегаты, лямбда-выражения, Action и
Func в C#.
• Значение темы: Эти понятия важны для создания гибкого и удобного
кода. Делегаты позволяют вызывать методы через ссылки, лямбдавыражения позволяют писать более краткий и выразительный код, а
Action и Func упрощают передачу методов как параметров.
2.
Делегаты• Определение: Делегаты в C# — это типы, которые представляют
ссылки на методы с определенной сигнатурой. Они позволяют
вызывать методы косвенно через переменные, предоставляя гибкость
и модульность.
• Пример: Создание делегата для обработки события нажатия кнопки:
• public delegate void ButtonClickHandler();
• public event ButtonClickHandler OnClick;
3.
Лямбда-выражения• Определение: Лямбда-выражения — это анонимные функции,
которые позволяют создавать краткие и удобные способы передачи
функциональности как аргументов для методов.
• Пример: Использование лямбда-выражения в LINQ для фильтрации
списка:
• var adults = users.Where(user => user.Age >= 18);
4.
Action и Func• Action: Делегат, который не возвращает значения (void). Например:
• Action<string> greet = name => Console.WriteLine($"Hello, {name}!");
• Func: Делегат, принимающий параметры и возвращающий значение.
Например:
• Func<int, int, int> add = (x, y) => x + y;
5.
Predicate• Определение: Predicate(T obj) возвращает логическое значение на
основе переданного объекта.
• Пример: Фильтрация списка:
• List<int> evenNumbers = numbers.FindAll(x => x % 2 == 0);
6.
Примеры использования делегатов• События в пользовательском интерфейсе (UI): Делегаты используются
для обработки событий, таких как нажатие кнопки.
• Пример: public delegate void ButtonClickHandler();
• public event ButtonClickHandler OnClick;
7.
Примеры использования лямбда-выражений• LINQ-запросы: Лямбда-выражения позволяют писать компактные
запросы.
• Пример: var filteredList = list.Where(x => x > 10);
8.
Заключение• Основные выводы: Делегаты, лямбда-выражения и
предопределенные делегаты делают код гибким, компактным и
понятным.
• Обсуждение: Приглашаем к вопросам для лучшего понимания
материала.
9.
Контактная информация• Контакты: [email protected]
• LinkedIn: linkedin.com/in/example