Lambda expressions

Description

70-483 C# (Exame 70-483) Flashcards on Lambda expressions, created by Thiago Russo on 23/04/2016.
Thiago Russo
Flashcards by Thiago Russo, updated more than 1 year ago
Thiago Russo
Created by Thiago Russo over 8 years ago
0
0

Resource summary

Question Answer
o que são "lambdas expressions"? Às vezes, a assinatura de um método pode ter mais código do q o corpo de um método. Há também situações em que você precisa para criar um método inteiro apenas para usá-lo em um delegate. No C# 2.0, foram add os métodos anônimos. No C# 3.0, as coisas ficaram ainda melhores ado foram add as expressões lambda.
Exemplo de Lambda expression para criar "delegates"
sintaxe lambda expression Função lambda ñ tem nenhum nome específico como os métodos convencionais. Devido a isso, funções lambda são chamados de funções anônimas. Vc tb ñ precisa especificar um tipo de retorno explicitamente. O compilador infere isso automaticamente a partir do seu lambda. No exemplo anterior, os tipos de parâmetros x e y ñ são tb explicitamente especificados. A sintaxe para escrever um lambda pode ser compacta. Se um lambda tem apenas um parâmetro, vc pode remover os ( ) Vc pode criar lambdas que abrangem várias declarações usando { }
lambda com várias declarações { }
Func<int,int,int> conceito Os tipos Func <...> representam delegates que retornam um tipo com 0-16 parâmetros. Todos esses tipos herdam System.MulticastDelegate assim que você pode adicionar vários métodos para a lista de invocação.
Action <...> conceito Se você quer um tipo de delegate que não retorna um valor, você pode usar os tipos System.Action. Eles também podem ter 0-16 parâmetros, mas eles não retornam um valor
o que é "clasure" ? As coisas começam a tornar-se mais complexa quando a sua função lambda começa referenciar variáveis declaradas fora da expressão lambda (ou ao this como referência). Normalmente, quando o controle deixa o escopo de uma variável, a variável não é mais válida. Mas e se um delegate faz referencia a uma variável local e depois essa é retornada pela chamada do método? Agora, o delegate tem uma vida mais longa do que a variável. Para corrigir isso, o compilador gera código que faz com que a vida da variável capturada esteja ativa pelo menos enquanto o delegate estiver. Isto é chamado um closure.
Show full summary Hide full summary

Similar

Porova teórica C# mod l
Cursos Professor Jonatã
Linguagem C#
Alex Araujo Furado
Prova teorica C# mo ll
Cursos Professor Jonatã
Entity framework - code first
José Fernandes
Flashcard Módulo 1 - XAMARIN LATINO AMERICA
Marcone Barbosa
Entity framework
José Fernandes
C# and ASP.NET
Kalebi Fiorentini
Linguagens de programação
Rodrigo Barbosa7452
Dates and times .NET
Felipe Couto Viola
Conceitos do ASP.NET CORE (Incompleto)
José Fernandes Rezende Neto
Fluxo Game UC 8
Lucas Coluzzo