1
resposta

[Projeto] Desafio: hora da prática

var numeros = new List<int> { 1, 2, 3, 4, 2, 1, 3, 4,5, 6};

var numerosUnicos = numeros.Distinct();

Console.WriteLine("Números únicos na lista:");
foreach (var numero in numerosUnicos)
{
    Console.Write(numero + " ");
}
---------------------
class Livro
{
    public string Titulo { get; set; }
    public string Autor { get; set; }
    public int AnoPublicacao { get; set; }
}

List<Livro> livros = new List<Livro>
{
    new Livro { Titulo = "Aprendendo LINQ", Autor = "João Silva", AnoPublicacao = 2005 },
    new Livro { Titulo = "Programação em C#", Autor = "Ana Oliveira", AnoPublicacao = 2010 },
    new Livro { Titulo = "Algoritmos e Estruturas de Dados", Autor = "Carlos Santos", AnoPublicacao = 1998 },
    new Livro { Titulo = "Introdução à Inteligência Artificial", Autor = "Mariana Costa", AnoPublicacao = 2021 },
    new Livro { Titulo = "Design Patterns", Autor = "Paulo Rocha", AnoPublicacao = 2002 }
};

var titulosLivros = livros
    .Where(l => l.AnoPublicacao > 2000)
    .OrderBy(l => l.Titulo)
    .Select(l => l.Titulo);

Console.WriteLine("Títulos de livros publicados após 2000, ordenados alfabeticamente:");
foreach (var titulo in titulosLivros)
{
    Console.WriteLine(titulo);
}
-----------------------------------------
class Produto
{
    public string Nome { get; set; }
    public decimal Preco { get; set; }
}

List<Produto> produtos = new List<Produto>
{
    new Produto { Nome = "Produto1", Preco = 10m },
    new Produto { Nome = "Produto2", Preco = 5m },
    new Produto { Nome = "Produto3", Preco = 20m },
    new Produto { Nome = "Produto4", Preco = 18m },
    new Produto { Nome = "Produto5", Preco = 12m },
    new Produto { Nome = "Produto6", Preco = 22m },
};

Console.WriteLine($"Preço médido dos produtos {produtos.Average(x => x.Preco)}");

------------------

var numerosInteiros = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };

var pares = numerosInteiros.Where( x => x % 2 == 0 );

foreach (var item in pares)
{
    Console.WriteLine(item);
}
1 resposta

Oi, Eduardo! Como vai?

Agradeço por compartilhar.

Seu código ficou bem organizado e mostra um bom uso do LINQ nos quatro exercícios. A aplicação do Distinct() para remover números repetidos, do Where() com OrderBy() e Select() para filtrar e ordenar os livros, do Average() para calcular o preço médio e do filtro com % 2 == 0 para buscar números pares está correta. Um pequeno ajuste seria corrigir o texto "Preço médido" para "Preço médio" na saída do console.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!