Módulo 3

Expressões

A imagem inicial contém códigos de programação onde parte da imagem está desfocada e outra parte om as linhas de códigos em cores alternadas entre azul e laranja.

Nesse último módulo, você aprenderá um conjunto de expressões essenciais para a aplicação da linguagem C#. Nesse sentido, vamos conhecer os métodos e funções dentro do uso dessa linguagem, envolvendo o estudo de LAMBDA, delegate, LINQ e extensões. Vamos lá!

LAMBDA

Considerando a linguagem LAMBDA, iremos analisar as suas funções principais: a action e func. Você sabe qual é a diferença entre elas? Selecione os cards para descobrir!

Action

Tipo de função que não tem retorno.

Func

Tipo de função que apresenta retorno.

A seguir, temos um exemplo desses tipos de funções na prática:

Funções

static void Main(string[] args)
{
Action apresentaConsole = () =>
{
Console.WriteLine("Funções e Métodos ");
};

apresentaConsole();

Func<int> sorteio = () =>
{
Random random = new Random(); 
return random.Next(1, 101);
};

Console.WriteLine(sorteio());

}

Note que, inicialmente, com a criação de uma action, entre parênteses, ficarão os parâmetros que são desejados passar para a função. A continuação da action pode ser compreendida melhor ao analisar as seguintes informações:

Utilizamos o símbolo => para indicar que, após os parâmetros, virá o corpo da função. Esse símbolo é chamado de arrow.

#PraCegoVer: Tela aproximada de um computador com parte de um código de programação desfocado.

No corpo, como não há retorno, apresentamos na tela uma frase. Em seguida, é feita a chamada dessa função.

#PraCegoVer: Tela aproximada de um computador com parte de um código de programação desfocado.

Posteriormente, foi criada a função do tipo func para realizar o sorteio de um número. O retorno dessa função é do tipo int. Na sequência, utilizamos a função random, que sorteará um número de 1 a 100. Por fim, o número sorteado é apresentado na tela.

Desta forma, você pôde compreender mais sobre a relevância da linguagem LAMBDA, sobretudo associada aos conceitos de action e func, os quais são essenciais para operações randômicas nas linhas de código.

Delegate

Agora, falaremos sobre a função delegate. Ela se caracteriza como uma referência para um ou mais métodos, a qual é utilizada para a comunicação entre objetos de forma flexível e extensível. Observe o exemplo abaixo onde é criado um delegate no código.

Delegate

namespace Delegate
{

delegate double BinaryNumericOperation (double ni, double n2); 
O referências 
class Program
{

1 referência 
class Calculadora
{

0 referências 
public static double Max(double X, double Y)
{
if (X > Y)
{
return X;
}
else
{
return Y;
}
}
1 referência 
public static double soma(double X, double Y)
{
return X + Y;
}
1 referências 
static void Main(string[] args)
{
double a = 10; 
double b = 30;

BinaryNumericOperation operacao = Calculadora. soma;
Console.WriteLine(operacao(a,b));
}
}
}

Nesse exemplo, é possível verificar que, dentro do “namespace” e antes da classe, foi criado o delegate como uma operação numérica binária. Isto é, será referência para uma operação que receberá dois números do tipo double (n1, n2).

Depois disso, dentro do main do programa, declara-se um objeto que receberá a classe calculadora com o método de soma, sendo possível fazer a chamada apenas com o “op” enviando as variáveis desejadas para a realização da operação. Lembramos de que é importante fazer o teste realizando o exemplo e as modificações para verificar o funcionamento.

Como pode ver, a função delegate auxilia na interpretação do código criado, uma vez que o torna menos confuso, facilitando, assim, a sua leitura.

LINQ

Por fim, você estudará sobre a última função, o Language Integrated Query (LINQ). Ele pode ser traduzido como uma consulta integrada à linguagem, que diz respeito a tecnologias baseadas na integração de funcionalidade, consultando diretamente a linguagem C#.

No LINQ, as operações são chamadas diretamente a partir das coleções. Em caso de consulta ao banco de dados, o compilador irá nos auxiliar a escrever corretamente o que precisarmos.

Assista ao vídeo, que traz um exemplo de LINQ de forma bem detalhada e explicativa, a fim de não restarem dúvidas!

Vídeo

Confira o vídeo sobre um exemplo de LINQ de forma bem detalhada.

Confira aqui o que foi abordado no vídeo.

using System; using System.Linq; namespace Ling { 0 referências class Program { 0 referências static void Main(String[] args) { int[] numeros = new int[] { 4, 5, 7, 8 }; var operacao = numeros. Where(x => x % 2 == 0); foreach (int x in operacao) { Console.WriteLine(x); } } } }

Agora que você conheceu sobre o Language Integrated Query (LINQ), podemos seguir em frente. Na sequência, focaremos nas extensões e em sua funcionalidade.

Extensões

O objetivo das extensões é adicionar possibilidades a métodos que já existiam, ou seja, criarmos uma forma a partir daquela já existente. Para que você compreenda melhor o tema, analise o exemplo apresentado no código a seguir.

Extensão

namespace Extensao
{

O referências 
public static class calculadoraExtensao
{
2 referências 
public static double Soma (this double ni, double n2){
return nl + n2;
}
}

O referências 
class Program
{
O referências 
static void Main(String[] args) {

double x = 3;

Console.WriteLine(x.Soma (7)); 
Console.WriteLine(9.2. Soma (7));

}
}
}

Vamos entender o que foi feito nesse exemplo? Selecione as informações para saber!

Assim fica mais fácil identificarmos do que se trata uma extensão, não é? Desse modo, você poderá colocar seus conhecimentos adquiridos em prática de maneira tranquila e sem grandes problemas!

E-book PDF

Você pode, também, ter na íntegra e sempre a mão o e-book do curso de Linguagem de Programação C# Avançado. Selecione o botão Download e confira!

Download

Referências

DIMES, T. Programação em C# para iniciantes. [S. l.]: Babelcube Inc., 2016. v. 3.

LIMA, E.; REIS, E. C# e .Net para desenvolvedores.. Rio de Janeiro: Campus, 2002. Disponível em: http://www.etelg.com.br/paginaete/ downloads/informatica/apostila2.pdf. Acesso em: 16 abr. 2021.

SAADE, J. C# - guia do programador. . São Paulo: Novatec, 2011.

SILVA, L. F. da. Desenvolvimento de software II C# programação em camadas. Joinville: Clube de Autores, 2015.

TAVARES, N. S.; DIONYSIO, R. C. C.; SANTOS JR., C. I. dos. C#: introdução a programação orientada a objetos. Joinville: Clube de Autores, 2009. v. 1.

FREEPIK. Fundo de tecnologia abstrata de código de programação do desenvolvedor de software e script de computador Foto Premium. Freepik 2021. Disponível em:https://br.freepik.com/fotos-premium/fundo-de-tecnologia-abstrata-de-codigo-de-programacao-do-desenvolvedor-de-software-e-script-de-computador_2109654.htm#page=1&query= programa%C3%A7%C3%A3o&position=40. Acesso em 30 de junho de 2021.

______. Programador em desenvolvimento team development website design e codificação de tecnologias trabalhando no escritório da empresa de software Foto Premium. Freepik 2021. Disponível em: https://br.freepik.com/fotos-premium/programador-em-desenvolvimento-team-development-website-design-e-codificacao-de-tecnologias-trabalhando-no-escritorio-da-empresa-de-software_5429218.htm#page=2&query= programa%C3%A7%C3%A3o&position=44. Acesso em 30 de junho de 2021.

______. Desenvolvedor de software codificando javascript no laptop Foto Premium. Freepik 2021. Disponível em: https://br.freepik.com/fotos-premium/desenvolvedor-de-software-codificando-javascript-no-laptop_13486390.htm#query=programa %C3%A7%C3%A3o&position=25. Acesso em 30 de junho de 2021.

______. Escrevendo códigos e digitando tecnologia de código de dados, programador colaborando trabalhando em projeto de web site em desenvolvimento de software em computador desktop da empresa, programação com html, php e javascript. Foto Premium. Freepik 2021. Disponível em: https://br.freepik.com/fotos-premium/escrevendo-codigos-e-digitando-tecnologia-de-codigo-de-dados-programador-colaborando-trabalhando-em-projeto-de-web-site-em-desenvolvimento-de-software-em-computador-desktop-da-empresa-programacao-com-html-php-e-javascript_12951900.htm#page=2 &query=programming++coding++developer &position=28. Acesso em 30 de junho de 2021.

______. Código html na tela do laptop, plantas verdes na mesa, escritório aconchegante Foto Premium. Freepik 2021. Disponível em: https://br.freepik.com/fotos-premium/codigo-html-na-tela-do-laptop-plantas-verdes-na-mesa-escritorio-aconchegante_12586698.htm#page= 2&query=programming++coding++developer &position=45. Acesso em 30 de junho de 2021.

______. Código javascript em um monitor Foto Premium. Freepik 2021. Disponível em: https://br.freepik.com/fotos-premium/codigo-javascript-em-um-monitor_8406217.htm#page=7&query= programming+coding+developer&position =37. Acesso em 30 de junho de 2021.

______. Código php em um monitor Foto Premium. Freepik 2021. Disponível em: https://br.freepik.com/fotos-premium/codigo-php-em-um-monitor_8406218.htm#page=7&query= programming+coding+developer&position =38. Acesso em 30 de junho de 2021.

Freepik.Recursos gráficos para todos. Freepik, 2021. Disponível em: https://br.freepik.com/ . Acesso em: 21 de out. de 2021.

Parabéns!

Você finalizou o curso avançado de C#. Esperamos que tenha aprimorado seus conhecimentos a respeito da linguagem.

Agora é com você, procure aplicar os aprendizados adquiridos. Observe que a linguagem C# apresenta uma quantidade vasta de ferramentas disponíveis para o desenvolvimento de algoritmos. Lembre-se sempre de buscar novas ferramentas e manter-se atualizado.

Até a próxima!

Você chegou ao final do curso!

Para sair do curso no computador, feche esta janela, clicando no "X" no seu navegador.
Veja o exemplo na imagem abaixo:

Para sair do curso, feche a janela do seu navegador, clicando no botão Fechar, localizado no canto superior direito da janela.

Se você estiver usando o computador, feche esta janela, clicando no "X" no seu navegador.
Veja o exemplo na imagem abaixo:

Para sair do curso, feche a janela do seu navegador, clicando no botão Fechar, localizado no canto superior direito da janela.

Se estiver usando o App, use o botão Voltar, localizado no canto superior esquerdo da tela.
Veja o exemplo na imagem abaixo:

Para sair do curso no App, toque no botão Voltar, localizado no canto superior esquerdo da tela.