Buscar
favorito
marcar como lido
dúvidas?
10 dicas de LINQ Nesse artigo veremos 10 dicas para trabalharmos como o LINQ.
(0)
(0)
O Linq de Language Integrated Query, é uma sintaxe de consulta onde podemos fazer essas consultas em objetos, datasets, SQL, Entities e XML.
Nesse artigo veremos 10 dicas para trabalharmos como o LINQ
Todo conteúdo abaixo esta comentado para um melhor entendimento //Dica // Dica 1 //Consultando a letra de cada palavra static void void LinqObjects() { //declarando uma lista de letras List< List
> letras; //jogando cada letra na lista de letras letras = "Este método fará um loop para cada letra" .ToList(); //Usando linq para consultar as letras var l = from from letra in in letras select select letra; foreach
(var var item in l)
{ Console.WriteLine(item); Console .WriteLine(item); } } //Dica 2 //Utilizando linq como where static void void LinqObjectsWhere() { //Declarando uma lista de string
List palavras;
//Separando cada palavra da frase e jogando na lista palavras = "Esse método vai filtrar as palavras que contem o tamanho menor e igual a 4" .Split(' ').ToList(); //Fazendo um filtro com as palavras que possui até 4 letras var p = from palavra in palavras where palavra.Length <= 4 select palavra; foreach
(var item in p)
{ Console.WriteLine( "A palavra {0} tem {1} letras" , item, item.Length); } } //Dica 3 //Utilizando linq com orderby static void LinqObjectsOrdem() { //Declarando uma lista de string List palavras; //Separando cada palavra da frase e jogando na lista palavras = "Esse método vai ordenar as palavras pelo seu tamanho" .Split(' ').ToList(); //Ordenando as palavras pelo seu tamanho var p = from palavra in palavras orderby palavra.Length select palavra; foreach
(var item in p)
{ Console.WriteLine( "Palavra: {0}",item); } } //Dica 4 //Utilizando Linq com groupby static void LinqObjectGroup() { //Declarando uma lista de string List palavras; //Separando cada palavra da frase e jogando na lista palavras = "Esse método vai agrupar as palavras que possui a mesma quantidade de letras" .Split(' ').ToList(); //Agrupando as palavras pelo seu tamanho var p = from palavra in palavras
group palavra by palavra.Length;
//lista a quantidade de palavras que possui o mesmo numero de letras foreach {
(var item in p) Console.WriteLine( "‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐"
Console.WriteLine( "Existem {0} palavras com {1} letras" , item.Count(), item.Key); //lista as palavras desses tamanhos foreach (var i in item) { Console.WriteLine(i); } } } //Dica 5 //Utilizando Linq com XML static void LinqXML() { //Declarando uma lista de usuários List Usuarios = new List(); //Inserindo o primeiro usuário
Usuarios.Add(new Usuario() {
ID=1,
Documento="11111",
Nome="Maria" }); //Inserindo o segundo usuário
Usuarios.Add(new Usuario() {
ID=2,
Documento="22222",
Nome="João" }); //Inserindo o terceiro usuário
Usuarios.Add(new Usuario() {
ID=3,
Documento="333333" ,
Nome="José" }); //Montando o xml com linq
System.Xml.Linq.XElement xml = new System.Xml.Linq.XElement ("Usuarios" , from usuario in Usuarios
);
select new System.Xml.Linq.XElement ("Usuario" , new System.Xml.Linq.XAttribute ("ID", usuario.ID), new System.Xml.Linq.XElement ("Nome", usuario.Nome), new System.Xml.Linq.XElement ("Documento" , usuario.Documento)));
Console.WriteLine(xml);
} //Dica 6 //Utilizando função lambda static void FuncaoLambda() { //Os dois primeiros parametros int's, são os tipos que vão receber como parametros //Sempre o ultimo parametro é o seu retorno //criando a função somar Func Somar = (x, y) => x + y; Console.WriteLine( "Somando : ",Somar(1, 2)); } //Dica 7 //chamando o metodo de extensão de uma string static void ChamarExtension() { "[email protected]" .ValidarEmail(); } //para o método ser uma extensão precisa ser static e seguida da palavra this dentro do argumento public static void ValidarEmail(this string Email) { Console.WriteLine( "Validando e‐mail{0}" , Email); } //Dica 8 //metodos anonimos public static void MetodosAnonimos() { //Criando os metodos sem uma classe definida var usuario1 = new { Nome = "Fernando" , Documento = "1234" var usuario2 = new { Nome = "Maria", Documento = "099888"
}; };
Console.WriteLine( "Nome: {0} Documento {1}" , usuario1.Nome, usuario1.Documento); Console.WriteLine( "Nome: {0} Documento {1}" , usuario2.Nome, usuario2.Documento); }
//Dica 9 //Consultando com Generic static void SelectInit() { //Criando uma lista de usuários List Usuarios = new List(); //Inserindo o primeiro usuário
Usuarios.Add(new Usuario() {
ID=1,
Nome="Fernando" ,
Documento="11111" }); //Inserindo o segundo usuário
Usuarios.Add(new Usuario() { ID = 1, Nome = "Maria", Documento = "22222" });
//Inserindo o terceiro usuário
Usuarios.Add(new Usuario() { ID = 1, Nome = "Marcia" , Documento = "2222" });
//Consultando conteudo pelo inicio da palavra var Usuario =Usuarios .Where (u => u.Nome.StartsWith("M"))
.Select(u=>u); //ou var Usuario2 = from User in Usuarios where User.Nome.StartsWith("M") select User;
foreach
(var item in Usuario)
{ Console.WriteLine( "Usuário {0} Documento {1}" , item.Nome, item.Documento);
}
foreach
(var item in Usuario2)
{ Console.WriteLine( "Usuário {0} Documento {1}" , item.Nome, item.Documento); }
//consultando conteudo pelo meio da palavra var Usuario3 = Usuarios .Where(u => u.Nome.Contains("n")) .Select(u => u); //ou var Usuario4 = from User in Usuarios where User.Nome.Contains("n") select User;
foreach
(var item in Usuario3)
{ Console.WriteLine( "Usuário {0} Documento {1}" , item.Nome, item.Documento); }
foreach
(var item in Usuario4)
{ Console.WriteLine( "Usuário {0} Documento {1}" , item.Nome, item.Documento); }
//consultando conteudo pelo final da palavra var Usuario5 = Usuarios .Where(u => u.Nome.EndsWith("o")) .Select(u => u); //ou var Usuario6 = from User in Usuarios where User.Nome.EndsWith("o") select User;
foreach
(var item in Usuario5)
{ Console.WriteLine( "Usuário {0} Documento {1}" , item.Nome, item.Documento); }
foreach
(var item in Usuario6)
{ Console.WriteLine( "Usuário {0} Documento {1}" , item.Nome, item.Documento); } } //Dica 10 //Utilizando dicionário com linq static void DicionarioLinq() { //criando o dicionario Dictionary nomes = new Dictionary ();
//inserindo os conteudos
nomes.Add(1, "Maria");
nomes.Add(2, "João");
nomes.Add(3, "José");
nomes.Add(4, "Fernando" );
//filtrando contendo onde as chaves são pares var nome = from
n in nomes
where (n.Key % 2) == 0 select
foreach
n;
(var item in nome)
{ Console.WriteLine( "Nomes que contem a chave par são {0}" , item); } } Um abraço até o próximo artigo.
Fernando Rodrigues
Publicado no Canal .net
por Fernando Rodrigues Guru .net e tecnologias MS
Ajude-nos a evoluir: você gostou do post? Compartilhe:
(0)
(0)
· Publicado em 2010
Ficou com alguma dúvida? Poste aqui sua dúvida ou comentário que nossa equipe responderá o mais rápido possível.
Mais posts Microartigo
ASP.NET MVC: como utilizar os métodos HTTP Vídeo aula Microcurso
Expressões Lambda em C# - O que são Lambda Expressions? - Vídeo 2 Vídeo aula Microcurso
Introdução às expressões Lambda - O que são Lambda Expressions? - Vídeo 1 Aplicativo com fontes
Código fonte - O que são Lambda Expressions? Vídeo aula Microcurso
Expressões Lambda em Java - O que são Lambda Expressions? - Vídeo 3
Listar mais conteúdo
Publique | Assine | Fale conosco
DevMedia 136.467 curtidas
Curtir Página
Hospedagem web por Porta 80 Web Hosting
Cadastre