Можно ли объяснить лямбда-выражения? [дубликат]

Поскольку метод post класса Http возвращает наблюдаемый, вам необходимо подписаться на его выполнение для обработки инициализации.

Вы должны посмотреть это видео для получения дополнительной информации:

22
задан Robert S. 10 April 2009 в 20:48
поделиться

6 ответов

В основном, насколько C# затронут, лямбда-выражения являются простым способом создать делегата (или дерево выражений, но давайте оставим в стороне тех на данный момент).

В C# 1 мы могли только создать экземпляры делегата из нормальных методов. В C# 2 мы получили анонимные методы. В C# 3 мы получили лямбда-выражения, которые похожи на более краткие анонимные методы.

Они особенно кратки, когда Вы хотите выразить некоторую логику, которая принимает одно значение и возвращает значение. Например, в контексте LINQ:

                       // Only include children - a predicate
var query = dataSource.Where(person => person.Age < 18) 
                       // Transform to sequence of names - a projection
                      .Select(person => person.Name);

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

21
ответ дан Robert S. 29 November 2019 в 05:26
поделиться

Ответы на этот вопрос могли бы быть полезны для Вас.

3
ответ дан Community 29 November 2019 в 05:26
поделиться

функции лямбды являются просто анонимными функциями.

, Например, в Python, Вы хотите удвоить все элементы в списке. Существует в значительной степени три способа сделать так:

выражения Списка:

[2*x for x in list]

явная функция:

def double(x):
    return 2*x
map(double, list) # iirc

с лямбдами:

double = lambda x : 2*x
map(double, list)

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

2
ответ дан Tetha 29 November 2019 в 05:26
поделиться

Это - одно из лучших объяснений, которые я видел того, как понять большие идеи в использовании лямбда-выражений в C#:

http://www.developingfor.net/c-30/upgrade-your-c-skills-part-3-lambda-expressions.html

1
ответ дан Romano Zumbé 29 November 2019 в 05:26
поделиться

Мое основное использование лямбда-выражений в.NET было при работе со списками. Используя лямбда-выражение можно создать запрос в списке похожим способом, поскольку Вы создали бы SQL-оператор для поиска таблицы базы данных.

0
ответ дан Jimmeh 29 November 2019 в 05:26
поделиться

Лямбда-выражение является функциональным значением (в том же смысле, что 'интервал' и 'строка' являются значениями). Это означает, что это возможно к

  • , определяют переменную, которая содержит лямбда-выражение (это совпадает с определением функции)
  • , возвращают лямбда-выражение из метода, или функция
  • отправляют лямбда-выражение, поскольку аргумент функции или методу

Смотрит на функции как карта, фильтр или сгиб (на любом функциональном языке), чтобы видеть, как лямбда-выражения используются в качестве аргументов другим функциям.

0
ответ дан Jonas 29 November 2019 в 05:26
поделиться
Другие вопросы по тегам:

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