2010-09-28 2 views
1

У меня есть несколько методов, как этотразницы между делегатом {} и (входными параметрами) => {}

public void DoSomething(Action<int> action) { ... } 

В некоторых случаях я не использую параметры, передаваемые в действие. Существует ли какое-либо различие, я должен быть в курсе между называя его, как этот

DoSomething(delegate { ... }); 

или

DoSomething(_ => { ... }); 

ответ

1

Нет, они эквивалентны. Лично я предпочитаю delegate {}, так как очевидно, что вы не заботитесь о параметрах (в той мере, в которой они даже не называются), и вам не нужно адаптировать код на основе подписки делегата, но оба они в порядке.

+0

Лично я предпочитаю не использовать их, так как вы получаете клоунов, думающих, что они могут заменить слова лямбда-выражения, что вызовет у вас тонну печали при работе с 'IQueryable'. – leppie

+0

Спасибо за ответ. В этом случае я тоже предпочитаю синтаксис делегата. Как вы сказали, это дает понять, что вам не нужны параметры. –

Смежные вопросы