Делегаты, потоки и лямбда-выражения в C#
Делегаты представляют собой объекты, которые указывают на методы. Для объявления делегата используют ключевое слово delegate, после которого идёт возращаемый тип, название, параметры.
Приведём пример
События-основной пример использования делегатов.
Приведём пример
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Program{ | |
delegate void Massage(); | |
private static void GoodMorning() { | |
Console.WriteLine("Good morning"); | |
} | |
static void Main() { | |
Message mes; | |
If(DateTime.Now.Hour<12) { | |
mes='Good morning'; | |
} else { | |
mes='Good evening'; | |
}; | |
} | |
} |
Лямба-выражения
Лямбда-выражения позволяют создать ёмкие методы, которые могут возвращать некоторые значение и которые можно передать в качестве параметров в другие методы.
Лямбда-выражения имеют следующий синтаксис.
Слева от => определяется список параметров, а справа блок выражений. Необходимо учитывать, что каждый параметр неявно преобразуется в соответствующий параметр делегата, поэтому типы параметров и количество должны быть такими, как у делегата. Возвращаемое значение должно быть таким как у делегата.
Работа с потоками в C#
При выполнении программы каждому потоку выделяется определённый квант времени. Основной функционал для использования потоков сосредоточен в пространстве имён System.Threading. В нем определен класс, представляющий отдельный поток. Основные свойства класса
1. CurrentThread - возвращает ссылку на выполняемый поток.
2. IsLive - указывает работает ли поток в текущий момент (жив или нет).
3. Name - имя потока.
4. Priority - хранит приоритет потока.
5. IsBackground - указывает, является ли поток фоновым.
Существует 5 вариантов потоков в C#.
Highest
AboveNormal
Normal
BelowNormal
Lowest
Комментарии
Отправить комментарий