![]() |
Criado por Thiago Russo
aproximadamente 7 anos atrás
|
|
Questão | Responda |
o que é LINQ? | LINQ (Language Integrated Query) permite que vc trabalhe com os dados de uma forma extremamente poderosa. Ele consiste de um conjunto de normas padrões, que são facilmente aprendidos que permitem consultar dados. LINQ pode ser estendido para trabalhar contra diferentes tipos de dados. Isso permite escrever consultas poderosas que podem ser facilmente compreendidas e mantidas. |
Recursos de linguagem que tornam o LINQ possível | Para suportar o LINQ, alguns recursos de linguagem foram adicionados ao C#. Esses recursos são úteis por conta própria, mas combinadas para formar LINQ, eles brilham. Alguns desses recursos de linguagem ajudam a construir consultas de uma forma agradável e elegante, mas outras características são, por vezes, obrigatória até mesmo ser capaz de criar uma consulta. Essas construções de linguagem são os seguintes: ■ Variáveis tipadas implicitamente (implicitly typed variables); ■ Sintaxe de inicialização de objeto ■ Expressões lambda ■ Os métodos de extensão (Extension methods); ■ Tipos anônimos (Anonymous types) |
1 - Variáveis tipadas implicitamente - diferença entre tipagem explícita e implícita | int i = 42; Stream m = new MemoryStream (); string s = i + m; // Esta linha dá um erro de compilação O q vc está vendo aqui é chamado de tipagem EXPLÍCITA, onde vc diz ao compilador explicitamente que o tipo de cada variável é. No C#3, um novo recurso foi adicionado: tipagem IMPLÍCITA . Ao usar tipagem implícita, o compilador infere o tipo de variável para você e, em seguida, tipa fortemente sua variável para esse tipo. Variáveis tipadas implicitamente podem ser usados somente para as variáveis locais. Você pode usar tipagem implícita usando a palavra-chave var: var i = 42; var m = new MemoryStream (); // string s = i + m; // Esta linha ainda dá um erro de compilação Neste código, o compilador infere para você que o tipo de i é int, e m é MemoryStream. Os tipos ainda são fortemente tipados, mas você não especifica o tipo você mesmo. |
1 - Variáveis tipadas implicitamente - Por que isso é necessário em LINQ? | Qdo se usa uma consulta LINQ, o tipo de retorno é determinado em tempo de compilação para q vc não precise especificar explicitamente o retorno, porque você não sabe. |
1 - Variáveis tipadas implicitamente - melhora a legibilidade do código | Se um usuário de seu código pode facilmente ver o tipo da sua variável, tipaem implícita pode ser usado para evitar a repetição. No caso seguinte, var pode melhorar a legibilidade: Dictionary <string, IEnumerable <Tuple <Type, int >>> dados = new Dictionary <string, IEnumerable <Tuple <Type, int >>> (); var implicitData = new Dictionary <string, IEnumerable <Tuple <Type, int >>> (); Neste caso, você evita a repetição da grande declaração de tipo. Um leitor do seu código vai ver imediatamente que o tipo de implicitData é um Dictinary. Qdo o tipo da sua variável não é clara, é melhor evitar a digitação implícita: var whatsMyType = GetData (); Neste caso, um leitor de seu código teria de inspecionar o método GetData ou usar IntelliSense no VS para ver qual é o tipo de whatsMyType |
2 - Sintaxe de inicialização de objeto | |
3 - Expressões lambda - entendendo métodos anônimos para entender lambda | |
3 - Expressões lambda - PQ são importantes ao utilizar LINQ? | Lambdas usam a notação especial => , que pode ser lido como "torna-se" ou "para que". Qdo se trabalha com o LINQ, muitas vezes vc tem que passar um delegate Func<> para um método. Ao usar lambdas, vc pode simplificar o código e economizar muita digitação. A sintaxe fica um pouco mais detalhada qdo vc trabalha com vários argumentos ou qdo o seu lambda contém várias instruções, mas ainda é muito mais compacto do que qdo se utiliza um método anônimo. |
4 - Métodos de extensão o que são e exemplo? | |
4 - Métodos de extensão - como são utilizados em LINQ? | LINQ é inteiramente baseado em métodos de extensão. Eles são definidos na classe System.Linq.Enumerables e eles permitem que você chame funções LINQ em todos os tipos enumeráveis. |
5 - Tipos anônimos explicação e exemplo |
Image:
Tipo Anonimo (image/png)
|
Quer criar seus próprios Flashcards gratuitos com GoConqr? Saiba mais.