public static void ConsultaLinq3() { IList <IEsporte> lstEsp1 = new List <IEsporte>(); IEsporte espQ = new TenisQuadra("Tenis de Quadra"); IEsporte espS = new TenisSaibro("Tenis de Saibro"); lstEsp1.Add(espQ); lstEsp1.Add(espS); IList <IEsporte> lstEsp2 = new List <IEsporte>(); lstEsp1.Add(espS); IList <IAtleta> lstAtleta = new List <IAtleta>(); IAtleta atTenis1 = new Tenista("Guga", 50, lstEsp1); IAtleta atTenis2 = new Tenista("Eduardo", 35, lstEsp1); IAtleta atTenis3 = new Tenista("Moacir", 65, lstEsp2); lstAtleta.Add(atTenis1); lstAtleta.Add(atTenis2); lstAtleta.Add(atTenis3); System.Console.WriteLine("...Consulta Linq 3..."); System.Console.WriteLine("....Lista de Atletas...."); foreach (var item in lstAtleta) { System.Console.WriteLine(item); } System.Console.WriteLine("...Lista de Atletas Filtrados com Linq..."); var x = from y in lstAtleta where y.Idade > 35 orderby y.Nome descending select y; foreach (var y in x) { System.Console.WriteLine(y); } }
public static void ConsultaLinq4() { IList <IEsporte> lstEsp1 = new List <IEsporte>(); IEsporte espQ = new TenisQuadra("Tenis de Quadra"); IEsporte espS = new TenisSaibro("Tenis de Saibro"); lstEsp1.Add(espQ); lstEsp1.Add(espS); IList <IEsporte> lstEsp2 = new List <IEsporte>(); lstEsp2.Add(espS); IList <IEsporte> lstEsp3 = new List <IEsporte>(); lstEsp3.Add(espQ); IList <IAtleta> lstAtleta = new List <IAtleta>(); IAtleta atTenis1 = new Tenista("Guga", 50, lstEsp1); IAtleta atTenis2 = new Tenista("Eduardo", 35, lstEsp2); IAtleta atTenis3 = new Tenista("Moacir", 65, lstEsp3); lstAtleta.Add(atTenis1); lstAtleta.Add(atTenis2); lstAtleta.Add(atTenis3); System.Console.WriteLine("...Consulta Linq 4..."); //Consultando lista de objetos dentro de objeto var result = lstAtleta .Where(x => x.Nome.Contains("M") && x.Esportes.Where(y => y.Descricao.Contains("Qu")).Count() > 0).ToList(); //result = paises.Where(x => x.Estados.Where(y => y.Cidades.Where(o => o.Nome == "California").Count() > 0).Count() > 0).ToList(); foreach (var item in result) { System.Console.WriteLine(item); } }