Manipulação de Dados em C#: Trabalhando com Collections e LINQ
C# oferece uma variedade de coleções para armazenar e manipular dados de forma eficiente. Além disso, a Language Integrated Query (LINQ) permite que você consulte e manipule esses dados de maneira intuitiva e poderosa. Neste artigo, vamos explorar como trabalhar com coleções e usar LINQ para manipulação de dados em C#.
1. Coleções em C#
O C# possui diversas coleções que podem ser usadas para armazenar dados, incluindo:
- Arrays: Estruturas de dados que armazenam um número fixo de elementos do mesmo tipo.
- List
: Uma lista genérica que pode crescer dinamicamente. - Dictionary
: Armazena pares chave-valor, permitindo acesso rápido aos dados. - HashSet
: Uma coleção que armazena elementos únicos e permite operações de conjunto.
2. Trabalhando com List
A classe List
é uma das coleções mais utilizadas em C#. Aqui está um exemplo de como criar e manipular uma lista:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List frutas = new List();
frutas.Add("Maçã");
frutas.Add("Banana");
frutas.Add("Laranja");
// Iterar sobre a lista
foreach (var fruta in frutas)
{
Console.WriteLine(fruta);
}
// Remover um item
frutas.Remove("Banana");
Console.WriteLine("Após remoção:");
foreach (var fruta in frutas)
{
Console.WriteLine(fruta);
}
}
}
3. Usando Dictionary
O Dictionary
permite que você armazene dados em pares chave-valor. Aqui está um exemplo de uso:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Dictionary idades = new Dictionary
{
{ "Alice", 30 },
{ "Bob", 25 },
{ "Carlos", 35 }
};
// Acessar um valor usando a chave
Console.WriteLine($"Idade de Alice: {idades["Alice"]}");
// Iterar sobre o dicionário
foreach (var item in idades)
{
Console.WriteLine($"{item.Key}: {item.Value} anos");
}
}
}
4. Introdução ao LINQ
LINQ é uma poderosa ferramenta que permite realizar consultas em coleções de maneira semelhante ao SQL. Com LINQ, você pode filtrar, ordenar e agrupar dados facilmente. Aqui está um exemplo básico:
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
List numeros = new List { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
// Usando LINQ para filtrar números pares
var numerosPares = from n in numeros
where n % 2 == 0
select n;
Console.WriteLine("Números pares:");
foreach (var num in numerosPares)
{
Console.WriteLine(num);
}
}
}
5. Métodos de Extensão LINQ
Além da sintaxe de consulta, LINQ também oferece métodos de extensão que podem ser usados diretamente nas coleções. Aqui está um exemplo usando Where
e Select
:
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
List frutas = new List { "Maçã", "Banana", "Laranja", "Uva" };
// Usando métodos de extensão para filtrar e projetar
var frutasComA = frutas.Where(f => f.StartsWith("M")).Select(f => f.ToUpper());
Console.WriteLine("Frutas que começam com 'M':");
foreach (var fruta in frutasComA)
{
Console.WriteLine(fruta);
}
}
}
6. Conclusão
Manipular dados em C# usando coleções e LINQ permite que você trabalhe de forma eficiente e intuitiva. As coleções oferecem diferentes maneiras de armazenar e gerenciar dados, enquanto o LINQ proporciona uma poderosa linguagem de consulta para manipulação de dados. Ao dominar essas ferramentas, você poderá criar aplicações mais robustas e eficazes.