#region Desafio Hora da Pratica 2
using Teste4_Alura.ConsumindoAPI;
//1-
List<int> listaNumeros = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
LinqListadeNumeros.ExibirListadeNumeros(listaNumeros);
//2-
List<LinqListadeLivros> ListaDeLivros = new List<LinqListadeLivros>();
ListaDeLivros.Add(new LinqListadeLivros("A hora da estrela", "Clarice Lispector", 1977));
ListaDeLivros.Add(new LinqListadeLivros("O proposito da familia", "Luciano Subirá", 2021));
ListaDeLivros.Add(new LinqListadeLivros("Como flechas", "Luciano Subirá", 2023));
LinqListadeLivros.FiltrarLivros(ListaDeLivros);
//3-
List<LinqPrecoProduto> listaDeProdutos = new List<LinqPrecoProduto>()
{
new LinqPrecoProduto("Teclado", 700),
new LinqPrecoProduto("Mouse", 99),
new LinqPrecoProduto("Monitor", 2000),
};
LinqPrecoProduto.CalcularMedia(listaDeProdutos);
//4-
List<int> numerosPares = new List<int>()
{
1,2,3,4,5,6,7,8,9,10,11,12
};
LinqNumerosPares.CalculandoNPares(numerosPares);
#endregion
using System.Linq;
namespace Teste4_Alura.ConsumindoAPI;
internal class LinqListadeNumeros
{
public static void ExibirListadeNumeros(List<int> value)
{
List<int> numerosEscolhidos = value.Distinct().ToList();
foreach (var listaNumero in numerosEscolhidos)
{
Console.WriteLine(listaNumero);
}
}
}
//------------------------------------
using System.Linq;
namespace Teste4_Alura.ConsumindoAPI;
internal class LinqListadeLivros
{
public LinqListadeLivros(string titulo, string autor, int ano)
{
Titulo = titulo;
Autor = autor;
Ano = ano;
}
public string Titulo { get; set; }
public string Autor { get; set; }
public int Ano { get; set; }
public static void FiltrarLivros(List<LinqListadeLivros> ListaDeLivros)
{
var titulosLivros = ListaDeLivros.Where(livro => livro.Ano > 2000).OrderBy(livro => livro.Titulo).Select(livro => livro.Titulo);
Console.WriteLine($"Títulos de livros publicados após o ano 2000 ordenados alfabeticamente: ");
foreach (var titulo in titulosLivros)
{
Console.WriteLine($"- {titulo}");
}
}
}
//------------------------------------------------
using Teste4_Alura.DesafioInterfacePagavel;
namespace Teste4_Alura.ConsumindoAPI;
internal class LinqPrecoProduto
{
public LinqPrecoProduto(string nome, int preco)
{
Nome = nome;
Preco = preco;
}
public string Nome { get; set; }
public int Preco { get; set; }
public static void CalcularMedia(List<LinqPrecoProduto> listaDeProdutos)
{
var precoMedio = listaDeProdutos.Select(p => p.Preco).Average();
Console.WriteLine($"Preço médio dos produtos: R$ {precoMedio}");
}
}
//--------------------------------------
namespace Teste4_Alura.ConsumindoAPI;
internal class LinqNumerosPares
{
public LinqNumerosPares(int numeros)
{
Numeros = numeros;
}
public int Numeros { get; set; }
public static void CalculandoNPares(List<int> listaNPars)
{
var nPar = listaNPars.Where(nP => nP % 2 == 0);
foreach (var numeros in nPar)
{
Console.WriteLine($"-> {numeros}");
}
}
}