лаба. Отчет 13. Net, C# Оборудование персональный компьютер, практикум Время выполнения
Скачать 314.43 Kb.
|
Отчёт по практической работе №13 Делегаты Цель работы и содержание: закрепить навыками работы с делегатами Программное обеспечение: С/С++, VISUAL C++.NET, C# Оборудование: персональный компьютер, практикум Время выполнения: 6 учебных часов ХОД РАБОТЫ: Выполнила индивидуальное задание №1 варианта 3: В соответствии с вариантом индивидуального задания реализуйте пользовательский тип делегата требуемой сигнатуры и выполните с его использованием вызов нескольких методов (с корректной сигнатурой). Action Листинг программы: Action { Console.WriteLine(String.Format "Значение 1: {0} Значение 2: {1} Значение 3: {2}", doub(), flag + 10, y - 10)); }; Func lambda(doub, 20, 20); Результат работы программы: Выполнила индивидуальное задание №2 варианта 3: В соответствии с индивидуальным вариантом разработайте требуемый тип делегата (пользовательский, библиотечный или лямбдавыражение). Реализуйте асинхронное выполнение метода на основе разработанного делегата с возможностью мониторинга процесса выполнения, передачи параметров в метод и получения результата работы метода. Вариант:
Листинг программы: public static void Main(string[] args) { for(int i=0;i<10;i++) { Task Console.WriteLine($"Наличие элемента в массиве: {text.Result}"); } } public static async Task { Operation sum = CreateStringAsync; return await Task.Run(() => sum(10, 4)); } public static bool CreateStringAsync(int lenArr, int elem) { int[] mass = new int[lenArr]; Random rand = new Random(); for (int i = 0; i < mass.Length; i++) mass[i] = rand.Next(1,5); if (mass.Any(str => str == elem)) return true; else return false; } delegate bool Operation(int x, int y); Результат работы программы: |