public void Executar() { Titulo.Exibir("IENUMERABLE"); List <Vendedor> vendedores = Vendedor.ObterTodos().ToList(); var consultaSql = from v in vendedores where v.Sexo == "M" select v; var consultaLinq = (from v in vendedores where v.Sexo == "M" select v).ToList(); vendedores.Add(new Vendedor() { Id = 8, PrimeiroNome = "Joselito", UltimoNome = "Santos", Sexo = "M", VendasSemestrais = 700 }); Titulo.ExibirSub("Consuta SQL"); foreach (var item in consultaSql) { Console.WriteLine(item.PrimeiroNome); } Titulo.ExibirSub("Consuta LINQ"); foreach (var item in consultaLinq) { Console.WriteLine(item.PrimeiroNome); } }
public void Executar() { Titulo.Exibir("SELECTMANY"); var estudantes = Estudante.ObterEstudantes(); Titulo.ExibirSub("Select"); IEnumerable <List <string> > materias = estudantes.Select(x => x.Materias); foreach (var item in materias) { foreach (var m in item) { Console.WriteLine(m); } } Titulo.ExibirSub("SelectMany"); IEnumerable <string> materiasDistinct = estudantes.SelectMany(x => x.Materias).Distinct(); foreach (var item in materiasDistinct) { Console.WriteLine(item); } }
public void Executar() { Titulo.Exibir("SELECT"); Titulo.ExibirSub("IDs"); var vendedores = Vendedor.ObterTodos(); var ids = vendedores.Select(x => x.Id); foreach (var item in ids) { Console.WriteLine(item); } Titulo.ExibirSub("Anônimo"); var objetoAnonimo = vendedores.Select(x => new { Nome = x.PrimeiroNome, Sexo = x.Sexo, Id = x.Id }); foreach (var item in objetoAnonimo) { Console.WriteLine($"{item.Id} \t {item.Nome} \t {item.Sexo}"); } Titulo.ExibirSub("Vendas Mensais"); var vendasMensais = vendedores.Where(x => x.VendasSemestrais > 1500).Select(x => new { Nome = x.PrimeiroNome + "" + x.UltimoNome, Vendas = x.VendasSemestrais / 6, Id = x.Id }); foreach (var item in vendasMensais) { Console.WriteLine(item); } Console.ReadKey(); }
public void Executar() { Titulo.Exibir("WHERE"); #region Linq Titulo.ExibirSub("LINQ"); var paresLinq = numeros.Where(x => x % 2 == 0); foreach (var item in paresLinq) { Console.WriteLine(item); } #endregion #region Sql Titulo.ExibirSub("SQL"); var paresSql = from pares in numeros where pares % 2 == 0 select pares; foreach (var item in paresSql) { Console.WriteLine(item); } #endregion }
public void Executar() { Titulo.Exibir("ORDER_BY"); List <Estudante> estudantes = Estudante.ObterEstudantes(); #region Linq Titulo.ExibirSub("LINQ"); var ordenarLinq = estudantes .OrderBy(x => x.Sexo) .ThenByDescending(x => x.Materias.Count) .ThenBy(x => x.Nome); foreach (var item in ordenarLinq) { Console.WriteLine($"{item.Nome} \t {item.Sexo} \t {item.Materias.Count}"); } #endregion #region Sql Titulo.ExibirSub("SQL"); var ordenarSql = (from e in estudantes orderby e.Sexo, e.Materias.Count descending select e).ThenBy(x => x.Nome); foreach (var item in ordenarSql) { Console.WriteLine($"{item.Nome} \t {item.Sexo} \t {item.Materias.Count}"); } #endregion }
public void Executar() { Titulo.Exibir("INNER_JOIN"); #region Linq Titulo.ExibirSub("LINQ"); List <Vendedor> vendedores = Vendedor.ObterTodos().ToList(); vendedores.Add(new Vendedor { Id = 20, PrimeiroNome = "Carlos", UltimoNome = "Silva", VendasSemestrais = 800 }); vendedores.Add(new Vendedor { Id = 21, PrimeiroNome = "Sandro", UltimoNome = "Silva", VendasSemestrais = 800, RegiaoId = 5 }); vendedores.Add(new Vendedor { Id = 22, PrimeiroNome = "Antonio", UltimoNome = "Silva", VendasSemestrais = 800, RegiaoId = 8 }); var grupo = vendedores .Join(Regiao.ObterTodos(), v => v.RegiaoId, r => r.Id, (v, r) => new { Vendedor = $"{v.PrimeiroNome} {v.UltimoNome}", Regiao = r.Nome }); foreach (var item in grupo) { Console.WriteLine($"{item.Vendedor} - {item.Regiao}"); } #endregion #region Sql Titulo.ExibirSub("SQL"); var grupoSql = from v in Vendedor.ObterTodos() join r in Regiao.ObterTodos() on v.RegiaoId equals r.Id select new { Vendedor = $"{v.PrimeiroNome} {v.UltimoNome}", Regiao = r.Nome }; foreach (var item in grupoSql) { Console.WriteLine($"{item.Vendedor} - {item.Regiao}"); } #endregion Console.ReadKey(); }
public void Executar() { Titulo.Exibir("AGGREGATE"); string[] nomes = { "João", "da", "Silva", "Saulo" }; var resultado = nomes.Aggregate((a, b) => a + " " + b); Console.WriteLine(resultado); }
public void Executar() { Titulo.Exibir("DISTINCT"); string[] paises = { "BR", "br", "eua", "uk", "UK", "BR" }; #region Distinct Titulo.ExibirSub("Padrão"); var resultado = paises.Distinct(); foreach (var item in resultado) { Console.WriteLine(item); } #endregion #region OrdinalIgnoreCase Titulo.ExibirSub("OrdinalIgnoreCase"); var resultadoIgnore = paises.Distinct(StringComparer.OrdinalIgnoreCase); foreach (var item in resultadoIgnore) { Console.WriteLine(item); } #endregion #region DistinctComplexo Titulo.ExibirSub("Vendedores"); // Todo: Distinct para tipo complexo var vendedores = Vendedor.ObterTodos() .Select(x => new { Id = x.Id, PrimeiroNome = x.PrimeiroNome, UltimoNome = x.UltimoNome, VendasSemestrais = x.VendasSemestrais, Sexo = x.Sexo, RegiaoId = x.RegiaoId }) .Distinct(); foreach (var item in vendedores) { Console.WriteLine(item.Id); } #endregion Console.ReadKey(); }
public void Executar() { Titulo.Exibir("GROUP_JOIN"); var vendedores = Vendedor.ObterTodos(); #region Linq Titulo.ExibirSub("LINQ"); var grupo = Regiao.ObterTodos() .GroupJoin(vendedores, r => r.Id, v => v.RegiaoId, (regiao, vendedor) => new { Vendedor = vendedor, Regiao = regiao }); foreach (var item in grupo) { Console.WriteLine(item.Regiao.Nome); foreach (var vendedor in item.Vendedor) { Console.WriteLine($"\t {vendedor.PrimeiroNome} {vendedor.UltimoNome}"); } Console.WriteLine(); } #endregion #region Sql Titulo.ExibirSub("SQL"); var grupoSql = from r in Regiao.ObterTodos() join v in Vendedor.ObterTodos() on r.Id equals v.RegiaoId into vGrupo select new { Vendedor = vGrupo, Regiao = r }; foreach (var item in grupoSql) { Console.WriteLine(item.Regiao.Nome); foreach (var vendedor in item.Vendedor) { Console.WriteLine($"\t {vendedor.PrimeiroNome} {vendedor.UltimoNome}"); } Console.WriteLine(); } #endregion Console.ReadKey(); }
public void Executar() { Titulo.Exibir("LEFT_JOIN"); List <Vendedor> vendedores = Vendedor.ObterTodos().ToList(); #region Linq Titulo.ExibirSub("LINQ"); var grupo = vendedores .GroupJoin(Regiao.ObterTodos(), v => v.RegiaoId, r => r.Id, (ve, re) => new { ve, re }) .SelectMany(x => x.re.DefaultIfEmpty(), (vendedor, regiao) => new { Nome = $"{vendedor.ve.PrimeiroNome} {vendedor.ve.UltimoNome}", RegiaoNome = (regiao == null) ? "Sem região" : regiao.Nome }); foreach (var item in grupo) { Console.WriteLine($"{item.Nome} \t {item.RegiaoNome}"); } #endregion #region Sql Titulo.ExibirSub("SQL"); var grupoSql = from v in vendedores join r in Regiao.ObterTodos() on v.RegiaoId equals r.Id into vGrupo from r in vGrupo.DefaultIfEmpty() select new { Nome = $"{v.PrimeiroNome} {v.UltimoNome}", RegiaoNome = (r == null) ? "Sem região" : r.Nome }; foreach (var item in grupoSql) { Console.WriteLine($"{item.Nome} \t {item.RegiaoNome}"); } #endregion Console.ReadKey(); }
public void Executar() { Titulo.Exibir("GROUP_BY"); var vendedores = Vendedor.ObterTodos(); #region Linq Titulo.ExibirSub("LINQ"); var grupoLinq = vendedores.GroupBy(x => x.VendasSemestrais); foreach (var item in grupoLinq) { Console.WriteLine($"{item.Key} - {item.Count()}"); foreach (var v in item) { Console.WriteLine($"\t {v.PrimeiroNome} {v.UltimoNome}"); } } #endregion #region Sql Titulo.ExibirSub("SQL"); var grupoSql = from v in vendedores group v by v.VendasSemestrais into vGrupo //select vGrupo; select new { Key = vGrupo.Key, Vendedor = vGrupo.OrderBy(x => x.PrimeiroNome) }; foreach (var item in grupoSql) { Console.WriteLine($"{item.Key} - {item.Vendedor.Count()}"); foreach (var v in item.Vendedor) { Console.WriteLine($"\t {v.PrimeiroNome} {v.UltimoNome}"); } } #endregion Console.ReadKey(); }
public void Executar() { Titulo.Exibir("OPERADORES"); int[] numeros = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int[] vazio = { }; var first = numeros.First(); Console.WriteLine($"first: {first}"); var firstComplexo = numeros.First(x => x % 2 == 0 && x % 3 == 0); Console.WriteLine($"firstComplexo: {firstComplexo}"); var firstPadrao = numeros.FirstOrDefault(x => x % 2 == 0 && x % 10 == 0); Console.WriteLine($"firstPadrao: {firstPadrao}"); var elemento = numeros.ElementAt(0); Console.WriteLine($"elemento: {elemento}"); var elementoPadrao = numeros.ElementAtOrDefault(9); Console.WriteLine($"elementoPadrao: {elementoPadrao}"); var padraoNumeros = numeros.DefaultIfEmpty(); foreach (var item in padraoNumeros) { Console.WriteLine($"- padraoNumeros: {item}"); } var padraoVazio = vazio.DefaultIfEmpty(404); foreach (var item in padraoVazio) { Console.WriteLine($"- padraoVazio: {item}"); } Console.ReadKey(); }
public void Executar() { Titulo.Exibir("CONVERSORES"); #region Listas string[] paises = { "EUA", "URU", "FRN", "BR", "JP", "AU", "AL", "CBA" }; List <Vendedor> lista = Vendedor.ObterTodos().ToList(); #endregion #region Array Titulo.ExibirSub("ARRAY"); for (int i = 0; i < paises.Length; i++) { Console.WriteLine(paises[i]); } #endregion #region ToList Titulo.ExibirSub("TO_LIST"); var result = paises.ToList(); foreach (var item in result) { Console.WriteLine(item); } #endregion #region Dictionary Titulo.ExibirSub("TO_DICTIONARY - TIPO PRIMITIVO"); Dictionary <int, string> vendedorPrimitivo = lista.ToDictionary(x => x.Id, x => x.PrimeiroNome); foreach (var item in vendedorPrimitivo) { Console.WriteLine($"{item.Key} : {item.Value}"); } Titulo.ExibirSub("TO_DICTIONARY - TIPO COMPLEXO"); Dictionary <int, Vendedor> vendedorComplexo = lista.ToDictionary(x => x.Id); foreach (var item in vendedorComplexo) { Console.WriteLine($"{item.Key} : {item.Value.PrimeiroNome} \t {item.Value.VendasSemestrais}"); } #endregion #region ToLookup Titulo.ExibirSub("TO_LOOKUP"); var resultLookup = lista.ToLookup(x => x.VendasSemestrais); foreach (var item in resultLookup) { Console.WriteLine(item.Key); foreach (var v in resultLookup[item.Key]) { Console.WriteLine($"\t {v.PrimeiroNome} {v.UltimoNome}"); } } #endregion #region ToArray Titulo.ExibirSub("TO_ARRAY"); string[] colec = lista.Select(x => x.UltimoNome).Distinct().ToArray(); for (int i = 0; i < colec.Length; i++) { Console.WriteLine(colec[i]); } #endregion }
public void Executar() { Titulo.Exibir("GROUP_BY2"); #region Linq Titulo.ExibirSub("LINQ"); var grupo = Vendedor.ObterTodos() .GroupBy(x => new { x.VendasSemestrais, x.Sexo }) .OrderBy(k => k.Key.VendasSemestrais) .ThenBy(s => s.Key.Sexo) .Select(v => new { Vendas = v.Key.VendasSemestrais, Sexo = v.Key.Sexo, Vendedor = v.OrderBy(x => x.PrimeiroNome) }); foreach (var item in grupo) { Console.WriteLine($"Os funcionários do sexo {item.Sexo} fizeram {item.Vendas} e são {item.Vendedor.Count()}:"); Console.WriteLine("--------------------------------------------------------"); foreach (var v in item.Vendedor) { Console.WriteLine($"{v.Id} : {v.PrimeiroNome} {v.UltimoNome}"); } Console.WriteLine(); } #endregion #region Sql Titulo.ExibirSub("SQL"); var grupoSql = from v in Vendedor.ObterTodos() group v by new { v.VendasSemestrais, v.Sexo } into vGrupo orderby vGrupo.Key.VendasSemestrais, vGrupo.Key.Sexo select new { Vendas = vGrupo.Key.VendasSemestrais, Sexo = vGrupo.Key.Sexo, Vendedor = vGrupo.OrderBy(x => x.PrimeiroNome) }; foreach (var item in grupoSql) { Console.WriteLine($"Os funcionários do sexo {item.Sexo} fizeram {item.Vendas} e são {item.Vendedor.Count()}:"); Console.WriteLine("--------------------------------------------------------"); foreach (var v in item.Vendedor) { Console.WriteLine($"{v.Id} : {v.PrimeiroNome} {v.UltimoNome}"); } Console.WriteLine(); } #endregion Console.ReadKey(); }
public void Executar() { Titulo.Exibir("TAKE"); #region Listas string[] paises1 = { "BR", "JP", "AU", "AL", "EUA", "URU", "FRN", "CBA" }; string[] paises2 = { "EUA", "URU", "FRN", "BR", "JP", "AU", "AL", "CBA" }; #endregion #region Take Titulo.ExibirSub("TAKE LINQ"); var takeLinq = paises1.Take(3); foreach (var item in takeLinq) { Console.WriteLine(item); } Titulo.ExibirSub("TAKE SQL"); var takeSql = (from p in paises1 select p).Take(3); foreach (var item in takeSql) { Console.WriteLine(item); } #endregion #region Take.Reverse Titulo.ExibirSub("TAKE.REVERSE LINQ"); var takeReverse = paises1.Take(3).Reverse().ToList(); foreach (var item in takeReverse) { Console.WriteLine(item); } #endregion #region TakeWhile Titulo.ExibirSub("TAKE_WHILE"); var takeWhile = paises1.TakeWhile(x => x.Length == 2); foreach (var item in takeWhile) { Console.WriteLine(item); } #endregion #region Skip Titulo.ExibirSub("SKIP"); var skip = paises1.Skip(3); foreach (var item in skip) { Console.WriteLine(item); } #endregion #region SkipWhile Titulo.ExibirSub("SKIP_WHILE"); var skipWhile = paises2.SkipWhile(x => x.Length > 2); foreach (var item in skipWhile) { Console.WriteLine(item); } #endregion }
public void Executar() { Titulo.Exibir("MÉTODO INVÁLIDO"); }