Linq ha venido a ser una de las cosas que mejor a creado Microsoft dentro del Framework .net una vez dominado es muy útil. A veces necesitamos agrupar colecciones y aparte realizar alguna operación con los grupos. Linq nos permite hacer esto de una manera sencilla y entendible desde el punto de vista de la definición del código. Ya que es muy parecido a un lenguaje de consulta de datos. sin necesidad de hacer ciclos y contadores para recorrer las colecciones.
La wikipedia nos dice algo asi : LINQ define operadores de consulta estándar que permiten a lenguajes habilitados con LINQ filtrar, enumerar y crear proyecciones de varios tipos de colecciones usando la misma sintaxis. Tales colecciones pueden incluir arreglos, clases enumerables, XML, conjuntos de datos desde bases de datos relacionales y orígenes de datos de terceros.
Lo que sigue … dejo un ejemplo sencillo de acuerdo a lo platicado:
Implementación.
04 | using System.Collections.Generic; |
09 | static void Main( string [] args) |
11 | List<Tipos> elements = new List<Tipos>(); |
12 | elements.Add( new Tipos { id = "1" , name = "veracruz" , type = "ventas" , data = 1000 }); |
13 | elements.Add( new Tipos { id = "1" , name = "Mexico" , type = "compras" , data = 2000 }); |
14 | elements.Add( new Tipos { id = "1" , name = "Yucatan" , type = "ventas" , data = 3000 }); |
15 | elements.Add( new Tipos { id = "1" , name = "Chiapas" , type = "compras" , data = 4000 }); |
18 | var grouplist = (from list in elements |
19 | group list by list.type into newgroup |
22 | groups = newgroup.Key, |
23 | total = newgroup.Sum( s => s.data) |
25 | foreach (var types in grouplist) |
26 | Console.WriteLine( "type {0} , total = {1}" ,types.groups, types.total); |
Modelo:
No hay comentarios:
Publicar un comentario