Archivo

Archive for 26 noviembre 2017

Métodos útiles en Enumerable

noviembre 26, 2017 Deja un comentario

Enumerable es una clase en .Net que hace parte del paquete o namespace de Linq ( System.Linq) y que ofrece métodos muy útiles para el manejo de colecciones y listas, que en ciertas ocasiones dejamos pasar o no los usamos adecuadamente.

Supongamos que tenemos la siguiente lista para el ejemplo:

 List<Movie> lmovies = new List<Movie>();
 lmovies.Add(new Movie() { Tittle = "Titanic", Genre = "Drama", Year = 1998 });
 lmovies.Add(new Movie() { Tittle = "Avengers", Genre = "Action", Year = 2012 });
 lmovies.Add(new Movie() { Tittle = "Annabelle", Genre = "Terror", Year = 2014 });

Max

el método Max permite encontrar el máximo de una lista de registro de cualquier tipo numérico (decimal, float, int etc…)

 //Get the max value on the list by a numeric field
 var maxmovie = Enumerable.Max<Movie>(lmovies, c => c.Year);
 Console.WriteLine("Demo Max");
 Console.WriteLine(maxmovie); //Result 2014

Min

el método Min permite encontrar el mínimo de una lista de registro de cualquier tipo numérico (decimal, float, int etc…)

 //Get the min value on the list by a numeric field
 var minmovie = Enumerable.Min<Movie>(lmovies, c => c.Year);
 Console.WriteLine("Demo Min");
 Console.WriteLine(minmovie); //result 1988

Repeat 

Repeat nos permite crear una copia de cualquier tipo de dato que le digamos, facilitandonos el proceso de pruebas.

// create N numbers of copy of an object 
 var listmovies = Enumerable.Repeat<Movie>(new Movie() { Tittle = "Movie Example" }, 5);
 Console.WriteLine("Demo Repeat");
 
 foreach (var item in listmovies)
 {
 Console.WriteLine(item.Tittle); 
 }

 

Sum

El método Sum permite sumer todos los datos de una colección de tipo numérico

 // sum a collections of numbers on a field
 var sumMovie = Enumerable.Sum<Movie>(lmovies, c => c.Year);
 Console.WriteLine("Demo Sum");
 Console.WriteLine(sumMovie);

 

Concat

Permite funcionar o concatenar 2 listas en una sola, es una opción muy útil ya que podemos omitir hacer ciclos e insertar los datos uno a uno.

// mix 2 colecction of the same type in only one collection 
 var lstconcat = Enumerable.Concat<Movie>(lmovies, listmovies);
 Console.WriteLine("Demo Concat");

foreach (var item in lstconcat) 
 Console.WriteLine(item.Tittle);

Average

Calcula un promedio de una lista de datos numéricos

// caculate an average from a collection of numbers
 var averageMovie = Enumerable.Average<Movie>(lmovies, c => c.Year);
 Console.WriteLine("Demo Average");
 Console.WriteLine(averageMovie);

Except

Permite devolver una lista omitiendo una lista de elementos contenidos en una segunda lista

 //return a list except the elements on the exception
 var lstExcept = Enumerable.Except<Movie>(lstconcat, listmovies);
 Console.WriteLine("Demo Except");
 foreach (var item in lstExcept)
 Console.WriteLine(item.Tittle);

 

La lista completa de métodos esta en a documentación oficial de microsoft

https://msdn.microsoft.com/en-us/library/system.linq.enumerable_methods(v=vs.110).aspx

 

DEMOS:

https://github.com/Mteheran/EnumerableDemos

Anuncios

Linq bases y ejemplos

noviembre 22, 2017 Deja un comentario

Preview de Microsoft SQL Operations Studio

noviembre 19, 2017 Deja un comentario

Microsoft ha presentado una nueva herramientas para el manejo de base de datos SQL server y Azure, completamente multiplataforma y Open source con un interfaz inspirada en el ya conocido Visual Studio  Code.

Link de descarga

https://docs.microsoft.com/en-us/sql/sql-operations-studio/download

Repositorio en GIT:

https://github.com/Microsoft/sqlopsstudio