1 - Dada uma lista de números, criar uma consulta LINQ para retornar apenas os elementos únicos da lista.
List<int> litaDeNumeros = new List<int>()
{
12, 23, 15, 8, 5, 11, 21, 89, 101, 23, 87, 74, 12, 7, 4, 15, 8, 11
};
var pesquisaNumeros = litaDeNumeros.Distinct().ToList();
Console.WriteLine("Lista de números únicos:\n");
foreach(var pesquisa in pesquisaNumeros)
{
Console.WriteLine($"- {pesquisa}");
}
2 - Dada uma lista de livros com título, autor e ano de publicação, criar uma consulta LINQ para retornar uma lista com os títulos dos livros publicados após o ano 2000, ordenados alfabeticamente.
namespace _03_Exercicio_02
{
internal class Livro
{
public string Titulo { get; set; }
public string Autor { get; set; }
public int AnoPublicacao { get; set; }
}
}
using _03_Exercicio_02;
List<Livro> listaDeLivros = new List<Livro>()
{
new Livro { Titulo = "Orgulho e Preconceito", Autor = "Jane Austen", AnoPublicacao = 1813 },
new Livro { Titulo = "1984", Autor = "George Orwell", AnoPublicacao = 1949 },
new Livro { Titulo = "O Pequeno Príncipe", Autor = "Antoine de Saint-Exupéry", AnoPublicacao = 1943 },
new Livro { Titulo = "O Hobbit", Autor = "J.R.R. Tolkien", AnoPublicacao = 1937 },
new Livro { Titulo = "Harry Potter e o Prisioneiro de Azkaban", Autor = "J.K. Rowling", AnoPublicacao = 1999 },
new Livro { Titulo = "A Menina que Roubava Livros", Autor = "Markus Zusak", AnoPublicacao = 2005 },
new Livro { Titulo = "O Caçador de Pipas", Autor = "Khaled Hosseini", AnoPublicacao = 2003 },
new Livro { Titulo = "As Crônicas de Nárnia: O Leão, a Feiticeira e o Guarda-Roupa", Autor = "C.S. Lewis", AnoPublicacao = 1950 },
new Livro { Titulo = "Jogos Vorazes", Autor = "Suzanne Collins", AnoPublicacao = 2008 },
new Livro { Titulo = "O Nome do Vento", Autor = "Patrick Rothfuss", AnoPublicacao = 2007 },
new Livro { Titulo = "Dom Quixote", Autor = "Miguel de Cervantes", AnoPublicacao = 1605 },
new Livro { Titulo = "Cidades de Papel", Autor = "John Green", AnoPublicacao = 2008 },
new Livro { Titulo = "Admirável Mundo Novo", Autor = "Aldous Huxley", AnoPublicacao = 1932 },
new Livro { Titulo = "Garota Exemplar", Autor = "Gillian Flynn", AnoPublicacao = 2012 },
new Livro { Titulo = "A Guerra dos Tronos", Autor = "George R.R. Martin", AnoPublicacao = 1996 }
};
var pesquisa = listaDeLivros.Where(l => l.AnoPublicacao > 2000).OrderBy(l => l.Titulo).Select(l => l.Titulo);
Console.WriteLine("Lista de livros publicados após o ano 2000:");
foreach(var livro in pesquisa)
{
Console.WriteLine($"{livro}");
}
03 - Dada uma lista de produtos com nome e preço, criar uma consulta LINQ para calcular o preço médio dos produtos.
namespace _03_Exercicio_03
{
internal class Produto
{
public string Nome { get; set; }
public decimal Preco { get; set; }
}
}
using System.Globalization;
using _03_Exercicio_03;
List<Produto> listaDeProdutos = new List<Produto>()
{
new Produto { Nome = "Camiseta", Preco = 29.90m },
new Produto { Nome = "Calça Jeans", Preco = 89.50m },
new Produto { Nome = "Tênis", Preco = 120.00m },
new Produto { Nome = "Meias (par)", Preco = 12.75m },
new Produto { Nome = "Boné", Preco = 35.00m },
new Produto { Nome = "Jaqueta", Preco = 150.00m },
new Produto { Nome = "Livro", Preco = 45.00m },
new Produto { Nome = "Caneca", Preco = 15.50m },
new Produto { Nome = "Mochila", Preco = 75.00m },
new Produto { Nome = "Cinto", Preco = 40.00m }
};
var precoMedio = listaDeProdutos.Select(p => p.Preco).Average();
Console.WriteLine($"Preço médio dos produtos: R$ {precoMedio.ToString("F2", CultureInfo.InvariantCulture)}");
4 - Dada uma lista de inteiros, criar uma consulta LINQ para retornar apenas os números pares.
List<int> listaDeNumeros = new List<int>()
{
2, 7, 14, 3, 22, 9, 18, 5, 28, 11,
32, 15, 40, 19, 48, 23, 56, 27, 64, 31,
72, 35, 80, 39, 88, 43, 96, 47, 104, 51,
112, 55, 120, 59, 128, 63, 136, 67, 144, 71,
152, 75, 160, 79, 168, 83, 176, 87, 184, 91,
192, 95, 200, 99, 6, 13, 20, 29, 34, 37,
42, 45, 50, 53, 58, 61, 66, 69, 74, 77,
82, 85, 90, 93, 98, 101, 106, 109, 114, 117
};
var numerosPares = listaDeNumeros.Where(n => n % 2 == 0);
Console.WriteLine("Lista de números pares:\n");
foreach(var numeros in numerosPares)
{
Console.WriteLine($"- {numeros}");
}