Buscar

Atividade Linq

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS 
CURSO – SISTEMAS DE INFORMAÇÃO – NUCLEO SÃO GABRIEL 
 
 
 
 
 
 
 
 
 
 
 
TÉCNICAS AVANÇADAS DE PROGRAMAÇÃO 
ATIVIDADE – LINQ 
 
 
 
 
 
Aluno: Luccas da Silva Machado 
Matricula: 687517 
 
 
 
 
 
 
 
 
 
Belo Horizonte, 07 de novembro de 2021 
1. Defina o conceito de Linq utilizado no .NET e explique suas principais 
vantagens e desvantagens. Dê exemplos de sua utilização. 
 
O conceito de Linq veio como forma de simplificar a manipulação de 
dados de outras linguagens como SQL, XML e afins, utilizando o próprio 
C# para fazer comandos funcionais nos dados contidos nessas 
linguagens. 
 
Sua Vantagem é justamente essa, trabalhar de forma mais sucinta. 
Crie uma lista de dados de carros (os dados podem ser lidos de um 
arquivo), com as seguintes 
informações: Placa, Modelo, Cor e Ano. Utilizando LINQ execute e exiba 
os resultados das seguintes consultas: 
(a) Exiba todas as informações da lista de carros 
(b) Exiba a quantidade de carros de um determinado modelo informado 
pelo usuário 
(c) Exiba todas as informações dos carros que terminam a placa com o 
número 1 e possuem a cor preto. 
(d) Exiba a quantidade de cada modelo, ordenando por modelo 
(e) Exiba todas as informações dos carros que são do modelo que mais 
aparece na lista de carros 
 
using System; 
using System.Collections.Generic; 
using System.Linq; 
 
namespace AtividadeLinq 
{ 
 
 public class Carros 
 { 
 
 public string modelo; 
 public string marca; 
 public string placa; 
 public string cor; 
 public int ano; 
 public Carros(string modelo, string marca, string placa, int ano,string 
cor) 
 { 
 this.modelo = modelo; 
 this.marca = marca; 
 this.placa = placa; 
 this.ano = ano; 
 this.cor = cor; 
 } 
 } 
 class Program 
 { 
 
 static void Main(string[] args) 
 { 
 
 List<Carros> carros = new List<Carros>(); 
 
 carros.Add(new Carros("Fox", "VolksWagen", "FFF-2222", 2010, 
"azul")); 
 carros.Add(new Carros("Fusca", "VolksWagen", "AAA-6461", 1984, 
"preto")); 
 carros.Add(new Carros("Jetta", "VolksWagen", "DDD-1214", 2021, 
"verde")); 
 carros.Add(new Carros("Uno", "Fiat", "CCC-2244", 2005, "amarelo")); 
 carros.Add(new Carros("Bravo", "Fiat", "HHH-2141", 2014, 
"vermelho")); 
 carros.Add(new Carros("Toro", "Fiat", "KKK-3654", 2020, "cinza")); 
 carros.Add(new Carros("Fiesta", "Ford", "GGG-3245", 2015, "preto")); 
 carros.Add(new Carros("Focus", "Ford", "BBB-6565", 2019, "branco")); 
 carros.Add(new Carros("Fusion", "Ford", "LLL-7571", 2018, "preto")); 
 carros.Add(new Carros("Hb20", "Hyunday", "VVV-6334", 2020, 
"branco")); 
 carros.Add(new Carros("I30", "Hyunday", "XXX-4694", 2019, "azul")); 
 carros.Add(new Carros("Santa Fe", "Hyunday", "NNN-3247", 2014, 
"grafite")); 
 Menu(carros); 
 
 } 
 public static void Menu(List<Carros> carros) 
 { 
 string op = ""; 
 
 while (op != "0") 
 { 
 Console.Clear(); 
 Console.WriteLine("Atividade de Linq"); 
 
 Console.Write("1 - Exiba todas as informações da lista de 
carros\n" + 
 "2 - Exiba a quantidade de carros de um determinado 
modelo informado pelo usuário\n" + 
 "3 - Exiba todas as informações dos carros que 
terminam a placa com o número 1 e possuem a cor preto.\n" + 
 "4 - Exiba a quantidade de cada modelo, ordenando 
por modelo\n" + 
 "5 - Exiba todas as informações dos carros que são 
do modelo que mais aparece na lista de carros\n" + 
 "0 - Sair\n"); 
 op = Console.ReadLine(); 
 switch (op) 
 { 
 case "1": 
 ExibeTodosItens(carros); 
 break; 
 case "2": 
 Console.WriteLine("Digite o modelo para saber quantos 
existem"); 
 string modelo = Console.ReadLine(); 
 ExibeQuant(carros,modelo); 
 break; 
 case "3": 
 InfoCar(carros); 
 break; 
 case "4": 
 OrdernaModelo(carros); 
 break; 
 case "5": 
 
 break; 
 case "0": 
 Console.WriteLine("Ate a proxima ;D"); 
 break; 
 default: 
 Console.WriteLine("Comando nao existe, tem um dentro da 
sequencia"); 
 break; 
 } 
 Console.ReadKey(); 
 } 
 } 
 public static void ExibeTodosItens(List<Carros> carros) 
 { 
 var query = from c in carros select c; 
 foreach (var s in query) 
 { 
 Console.WriteLine($"Marca: {s.marca} | Modelo: {s.modelo} | 
Placa: {s.placa} | Ano: {s.ano} | Cor:{s.cor}"); 
 } 
 } 
 public static void ExibeQuant(List<Carros> carros, string busca) 
 { 
 //var query = from c in carros where c.modelo.Equals(busca) select c; 
 var query = from c in carros 
 where c.modelo == busca 
 group c by new { c.modelo } into CarrosAgrup 
 select new 
 { 
 CarrosAgrup.Key.modelo, 
 qtd = CarrosAgrup.Count() 
 }; 
 foreach (var item in query) 
 { 
 Console.WriteLine($"modelo: {item.modelo} Quantidade 
:{item.qtd}"); 
 } 
 } 
 
 public static void InfoCar(List<Carros> carros) 
 { 
 var query = from c in carros 
 where c.placa.EndsWith("1") && c.cor == "preto" 
 select c; 
 foreach (var s in query) 
 { 
 Console.WriteLine($"Marca: {s.marca} | Modelo: {s.modelo} | 
Placa: {s.placa} | Ano: {s.ano} | Cor:{s.cor}"); 
 } 
 } 
 
 public static void OrdernaModelo(List<Carros>carros) 
 { 
 var query= from c in carros 
 orderby c.modelo ascending 
 select c; 
 foreach (var s in query) 
 { 
 Console.WriteLine($"Marca: {s.marca} | Modelo: {s.modelo} | 
Placa: {s.placa} | Ano: {s.ano} | Cor:{s.cor}"); 
 } 
 } 
 
 /* public static void MaisAparecem(List<Carros> carros) 
 { 
 var query = (from c in carros 
 group c by new { c.marca } into CarrosAgrupados 
 select new 
 { 
 CarrosAgrupados.Key.marca, 
 qtd = CarrosAgrupados.Count() 
 }).Max(qtd => qtd); 
 foreach (var item in query) 
 { 
 Console.WriteLine($"modelo: {item.modelo} Quantidade 
:{item.qtd}"); 
 } 
 
 }*/ 
 } 
}

Continue navegando