Почему такая шумиха с функциями лямбды C#? [дубликат]

Для текстовой информации UTF-8 необходимо использовать utf8_general_ci потому что...

  • utf8_bin: сравните строки двоичным значением каждого символа в строке

  • utf8_general_ci: сравните строки с помощью общих правил языка и с помощью нечувствительных к регистру сравнений

иначе это, желание должно, делая поиск и индексацию данных быстрее/больше эффективными/больше полезный.

8
задан raven 20 July 2009 в 17:23
поделиться

4 ответа

Итак, лямбда-выражения имеют две основные особенности по сравнению с анонимными методами:

  • Они более краткие, чем анонимные методы
  • Их можно преобразовать в деревья выражений как также, как делегаты

Если вы не используете деревья выражений, они очень похожи на анонимные методы. Разница в том, что часто вы можете написать несколько лямбда-выражений в одном операторе (объединяя вызовы методов вместе) без потери удобочитаемости, но анонимные методы просто слишком многословны.

Кстати, лямбда-выражения не так уж много " просто синтаксический сахар вокруг анонимных делегатов, «поскольку и лямбда-выражения, и анонимные методы являются« просто синтаксическим сахаром вокруг создания делегатов (и деревьев выражений) ».

Дон '

26
ответ дан 5 December 2019 в 04:36
поделиться

Их можно легко использовать как синтаксический сахар вокруг делегата, но главное в лямбдах заключается в том, что у компилятора есть возможность превращать их в деревья выражений , которые открывают многие возможности (не последней из которых является LINQ).

14
ответ дан 5 December 2019 в 04:36
поделиться

Наличие очень краткого синтаксиса повышает вероятность того, что вокруг них будет построено больше вещей. Представьте себе сложный запрос Linq без какого-либо синтаксического сахара.

4
ответ дан 5 December 2019 в 04:36
поделиться

Are them just syntactic sugar around анонимные делегаты, или есть something more which I can't see?

Good question. The answer is complicated. First off, obviously expression trees are the big one. But there are some subtleties as well. Here are my five prolix and frequently digressing articles on the subject of how lambdas are subtly different from anonymous methods:

http://blogs.msdn.com/ericlippert/archive/2007/01/10/lambda-expressions-vs-anonymous-methods-part-one.aspx

http://blogs.msdn.com/ericlippert/archive/2007/01/11/lambda-expressions-vs-anonymous-methods-part-two.aspx

http://blogs.msdn.com/ericlippert/archive/2007/01/12/lambda-expressions-vs-anonymous-methods-part-three.aspx

http://blogs.msdn.com/ericlippert/archive/2007/03/26/lambda-expressions-vs-anonymous-methods-part-four.aspx

http://blogs.msdn.com/ericlippert/archive/2007/03/28/lambda-expressions-vs-anonymous-methods-part-five.aspx

All my articles about issues involving lambda expressions are archived here:

http://blogs.msdn.com/ericlippert/archive/tags/Lambda+Expressions/default.aspx

4
ответ дан 5 December 2019 в 04:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: