Мне было интересно сегодня, есть ли какие-либо причины предпочесть использовать делегат {} вместо() = > {}, в тех случаях, когда вам нужна пустая функция.
Знаете ли вы какую-либо причину, чтобы предпочесть один за другим?
Ответ 1
Это не одно и то же.
Так как delegate {} не предоставляет список аргументов, он может быть преобразован в делегат, который возвращает void, и принимает любое количество аргументы (кроме параметров ref и out).
Это не то же самое, что () => {}, которое явно объявлено как не принимающее аргументов.
Ответ 2
Я считаю, что они скомпилированы в один и тот же код (если лямбда компилируется в делегат, а не в выражение, которое оно использовало бы там, где будет использоваться делегат).
Я предпочитаю лямбда, главным образом потому, что меньше символов, и я не думаю, что это менее читаемо.