1
resposta

Desafio: hora da prática

1 -

List<int> numeros = new List<int> { 23, 45, 96, 78, 42, 01, 09, 66, 99, 100 };

var numUnicos = numeros.Distinct();
Console.WriteLine("Os números da lista são: ");
foreach (var numero in numUnicos)
{
    Console.WriteLine($"- {numero}");
}

2 -
Livro.cs

public class Livro
{
    public string Titulo { get; set; }
    public string Autor { get; set; }
    public int Ano { get; set; }
};

Program.cs

List<Livro> livros = new List<Livro>
{
    new Livro { Titulo = "Programação em C#", Autor = "Ana Oliveira", Ano = 2010 },
    new Livro { Titulo = "1984", Autor = "George Orwell", Ano = 1949 },
    new Livro { Titulo = "O Grande Gatsby", Autor = "F. Scott Fitzgerald", Ano = 1925 },
    new Livro { Titulo = "Aprendendo LINQ", Autor = "João Silva", Ano = 2005 }
};

var livrosordenados = livros.Where(livros => livros.Ano > 2000).OrderBy(livros => livros.Titulo).Select(livros => livros.Titulo);

Console.WriteLine("Títulos de livros publicados após 2000, ordenados alfabeticamente:");
foreach (var titulo in livrosordenados)
{
    Console.WriteLine($"- {titulo}");
}

3 -
Produto.cs

public class Produto
{
    public string Nome { get; set; }
    public decimal Preco { get; set; }
}

Program.cs

List<Produto> produtos = new List<Produto>
{
    new Produto { Nome = "Notebook", Preco = 2500 },
    new Produto { Nome = "Smartphone", Preco = 1500 },
    new Produto { Nome = "Cadeira de Escritório", Preco = 800 },
    new Produto { Nome = "Mesa de Escritório", Preco = 1200 },
    new Produto { Nome = "Fone de Ouvido", Preco = 300 }
};

var precomedio = produtos.Average(produto => produto.Preco);

Console.WriteLine($"Preço médio dos produtos: {precomedio}");

4 -

List<int> numeros = new List<int> { 23, 45, 96, 78, 42, 01, 09, 66, 99, 100, 2 };

var numpares = numeros.Where(numeros => numeros % 2 == 0);

foreach (var numero in numpares)
{
    Console.WriteLine($"- {numero}");
}
1 resposta

Oi, Matheus! Como vai?

Agradeço por compartilhar.

Curti bastante como você aplicou diferentes métodos do LINQ em cenários variados, principalmente o uso de Distinct() pra remover duplicados e o encadeamento com Where, OrderBy e Select no exemplo dos livros, que mostra um bom entendimento de consulta de dados. Também ficou bem claro o cálculo com Average() e o filtro de números pares, tudo bem organizado e legível.

Uma dica interessante para o futuro é explorar o método GroupBy, que permite agrupar dados, muito útil quando você quiser analisar informações por categoria.


var produtosAgrupados = produtos.GroupBy(p => p.Preco > 1000);

foreach (var grupo in produtosAgrupados)
{
    Console.WriteLine(grupo.Key ? "Acima de 1000" : "Ate 1000");

    foreach (var item in grupo)
    {
        Console.WriteLine(item.Nome);
    }
}

Esse código agrupa produtos com base no preço e depois percorre cada grupo mostrando os nomes.

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