Skip to content

Commit 720abfc

Browse files
Create 2024-09-18-aprender-a-programar-em-csharp-parte-5.md
1 parent 42e348a commit 720abfc

File tree

1 file changed

+140
-0
lines changed

1 file changed

+140
-0
lines changed
Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
---
2+
title: 'Aprender a programar em C# – Parte 5'
3+
date: Thu, 18 Sep 2024 19:30:00 +0000
4+
draft: false
5+
tags: ['Aprender a programar em C#', 'C Sharp', 'C#','linq', 'lambda', 'Conceitos básicos', 'Iniciante', 'Visual Studio']
6+
---
7+
Na continuidade da nossa série sobre programação em C#, chegamos a um tema muito relevante e atual: LINQ (Language Integrated Query) e Expressões Lambda. Esses conceitos são fundamentais para quem deseja trabalhar com manipulação de dados de forma eficiente e expressiva. Neste artigo, vamos explorar o que são, como funcionam e como podemos utilizá-los em nossos projetos.
8+
9+
## 1. O que é LINQ?
10+
11+
LINQ é uma poderosa ferramenta que permite realizar consultas em coleções de dados de forma semelhante a consultas SQL, mas diretamente em C#. Com LINQ, você pode trabalhar com arrays, listas, bancos de dados e XML, entre outros, utilizando uma sintaxe clara e concisa.
12+
13+
### 1.1. Tipos de LINQ
14+
15+
Existem diferentes tipos de LINQ que podemos utilizar:
16+
17+
- **LINQ to Objects**: Permite realizar consultas em coleções em memória, como arrays e listas.
18+
- **LINQ to SQL**: Permite realizar consultas em bancos de dados SQL Server.
19+
- **LINQ to XML**: Permite realizar consultas em documentos XML.
20+
21+
## 2. Sintaxe do LINQ
22+
23+
A sintaxe do LINQ pode ser dividida em duas abordagens: **Sintaxe de Consulta** e **Sintaxe de Método**.
24+
25+
### 2.1. Sintaxe de Consulta
26+
27+
A sintaxe de consulta é semelhante à SQL e é bastante intuitiva. Veja um exemplo:
28+
29+
```csharp
30+
using System;
31+
using System.Collections.Generic;
32+
using System.Linq;
33+
34+
class Program
35+
{
36+
static void Main()
37+
{
38+
List<int> numeros = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
39+
var pares = from n in numeros
40+
where n % 2 == 0
41+
select n;
42+
Console.WriteLine("Números pares:");
43+
foreach (var numero in pares)
44+
{
45+
Console.WriteLine(numero);
46+
}
47+
}
48+
}
49+
```
50+
51+
### 2.2. Sintaxe de Método
52+
53+
A sintaxe de método utiliza métodos de extensão e é mais comum em cenários onde você precisa de operações mais complexas. Veja o mesmo exemplo utilizando a sintaxe de método:
54+
55+
```csharp
56+
using System;
57+
using System.Collections.Generic;
58+
using System.Linq;
59+
60+
class Program
61+
{
62+
static void Main()
63+
{
64+
List<int> numeros = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
65+
var pares = numeros.Where(n => n % 2 == 0);
66+
Console.WriteLine("Números pares:");
67+
foreach (var numero in pares)
68+
{
69+
Console.WriteLine(numero);
70+
}
71+
}
72+
}
73+
```
74+
75+
## 3. O que são Expressões Lambda?
76+
77+
Expressões Lambda são uma forma concisa de representar métodos anônimos. Elas são frequentemente usadas em LINQ para definir critérios de seleção, filtragem e transformação de dados.
78+
79+
### 3.1. Sintaxe de Expressões Lambda
80+
81+
A sintaxe básica de uma expressão lambda é:
82+
83+
```csharp
84+
(parameters) => expression
85+
```
86+
87+
Por exemplo, a expressão lambda `n => n % 2 == 0recebe um parâmetro `ne retorna um valor booleano indicando se `n` é par.
88+
89+
## 4. Usando LINQ e Expressões Lambda Juntos
90+
91+
Uma das grandes vantagens de LINQ é que ele permite o uso de expressões lambda para realizar operações de forma mais flexível. Veja um exemplo onde utilizamos LINQ com expressões lambda para filtrar e ordenar uma lista de objetos:
92+
93+
```csharp
94+
using System;
95+
using System.Collections.Generic;
96+
using System.Linq;
97+
class Pessoa
98+
{
99+
public string Nome { get; set; }
100+
public int Idade { get; set; }
101+
}
102+
103+
class Program
104+
{
105+
static void Main()
106+
{
107+
List<Pessoa> pessoas = new List<Pessoa>
108+
{
109+
new Pessoa { Nome = "Ana", Idade = 25 },
110+
new Pessoa { Nome = "João", Idade = 30 },
111+
new Pessoa { Nome = "Maria", Idade = 22 },
112+
new Pessoa { Nome = "Pedro", Idade = 35 }
113+
};
114+
115+
var pessoasFiltradas = pessoas
116+
.Where(p => p.Idade > 25)
117+
.OrderBy(p => p.Nome);
118+
119+
Console.WriteLine("Pessoas com mais de 25 anos:");
120+
121+
foreach (var pessoa in pessoasFiltradas)
122+
{
123+
Console.WriteLine($"{pessoa.Nome}, {pessoa.Idade} anos");
124+
}
125+
}
126+
}
127+
```
128+
129+
## 5. Conclusão
130+
131+
Neste artigo, introduzimos o LINQ e as expressões lambda, mostrando como essas ferramentas podem facilitar a manipulação de dados em C#. Com a prática, você poderá aplicar esses conceitos em seus projetos, tornando seu código mais limpo e eficiente.
132+
133+
No próximo artigo, continuaremos a explorar mais recursos do C# e como utilizá-los em aplicações do mundo real. Até lá, bons estudos e mãos à obra!
134+
135+
---
136+
137+
**Referências:**
138+
139+
- Documentação oficial do [LINQ](https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/)
140+
- Exemplos de [Expressões Lambda](https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/statements-expressions-operators/lambda-expressions)

0 commit comments

Comments
 (0)